您的位置: 旅游網 > 影視 >> 海報

    我如何寫這個非常簡單的程序呢

    發布時間:2021-10-26 07:15:06

    Bjarne Stroustrup博士,1950年出生于丹麥,先后畢業于丹麥阿魯斯大學和英國劍撟大學,ATT大規模程序設計研究部門負責人,ATT 貝爾實驗室和ACM成員。1979年,B. S開始開發一種語言,當時稱為\"C with Class\",后來演化為C++。1998年,ANSI/ISO C++標準建立,同年,B. S推出其經典著作The C++ Programming Language的第三版。

    我常常收到許多關于編寫一個非常簡單的程序的詢問。這個問題有一個很具代表性的解決方法,那就是(在你的程序中)讀入幾個數字,對它們做一些處理,再把結果輸出。下面是一個這樣做的例子:

    #includeiostream

    #includevector

    #includealgorithm

    using namespace std;

    int main()

    {

    vectordouble v;

    double d;

    while(cind) sh_back(d); // 讀入元素

    if (!f()) { // 檢查輸入是否出錯

    cerr \"format error\\n\";

    return 1; // 返回一個錯誤

    }

    cout \"read \" ze() \" elements\\n\";

    reverse(gin(),d());

    cout \"elements in reverse order:\\n\";

    for (int i = 0; ze(); ++i) cout v[i] ’\\n’;

    return 0; // 成功返回

    }

    對這段程序的觀察:

    這是一段標準的ISO C++程序,使用了標準庫(standard library)。標準庫工具在命名空間std中聲明,封裝在沒有.h后綴的頭文件中。

    如果你要在Windows下編譯它,你需要將它編譯成一個“控制臺程序”(console application)。記得將源文件加上.cpp后綴,否則編譯器可能會以為它是一段C代碼而不是C++。

    是的,main()函數返回一個int值。

    讀到一個標準的向量(vector)中,可以避免在隨意確定大小的緩沖中溢出的錯誤。讀到一個數組(array)中,而不產生“簡單錯誤”(silly error),這已經超出了一個新手的能力——如果你做到了,那你已經不是一個新手了。如果你對此表示懷疑,我建議你閱讀我的文章“將標準C++作為一種新的語言來學習”(\"Learning Standard C++ as a New Language\"),你可以在本人著作列表(my publications list)中下載到它。

    !f()是對流的格式的檢查。事實上,它檢查循環是否終結于發現一個end-of-file(如果不是這樣,那么意味著輸入沒有按照給定的格式)。更多的說明,請參見你的C++教科書中的“流狀態”(stream state)部分。

    vector知道它自己的大小,因此我不需要計算元素的數量。

    這段程序沒有包含顯式的內存管理。Vector維護一個內存中的棧,以存放它的元素。當一個vector需要更多的內存時,它會分配一些;當它不再生存時,它會釋放內存。于是,使用者不需要再關心vector中元素的內存分配和釋放問題。

    程序在遇到輸入一個“end-of-file”時結束。如果你在UNIX平臺下運行它,“end-of-file”等于鍵盤上的Ctrl+D。如果你在Windows平臺下,那么由于一個BUG它無法辨別“end-of-file”字符,你可能傾向于使用下面這個稍稍復雜些的版本,它使用一個詞“end”來表示輸入已經結束。

    #includeiostream

    #includevector

    #includealgorithm

    #includestring

    using namespace std;

    int main()

    {

    vectordouble v;

    double d;

    while(cind) sh_back(d); // 讀入一個元素

    if (!f()) { // 檢查輸入是否失敗

    ear(); // 清除錯誤狀態

    string s;

    cin s; // 查找結束字符

    if (s != \"end\") {

    cerr \"format error\\n\";

    return 1; // 返回錯誤

    }

    }

    是人類存在的希冀 cout \"read \" ze() \" elements\\n\";

    reverse(gin(),d());

    cout \"elements in reverse order:\\n\";

    for (int i = 0; ze(); ++i) cout v[i] ’\\n’;

    return 0; // 成功返回

    }

    更多的關于使用標準庫將事情簡化的例子,請參見《C++程序設計語言》中的“漫游標準庫”(\"Tour of the Standard Library\")一章。

    查看本文來源

    長沙醫院哪男科好
    肺炎
    西安醫院婦科哪好
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: youjizz大全| 国产精品入口在线看麻豆| 国内一级毛片成人七仙女| 国产精品综合一区二区| 国产成人综合亚洲一区| 国产91精品不卡在线| 亚洲视频在线观看网址| 亚洲一级毛片在线播放| 中文无码人妻有码人妻中文字幕| tube8中国69videos| www视频在线观看| 美女污污视频在线观看| 永久免费AV无码网站性色AV| 日韩无人区电影| 天天看片日日夜夜| 国产成人精品自线拍| 免费高清资源黄网站在线观看| 亚洲人成在线免费观看| 中文国产成人精品久久一| 69堂国产成人精品视频不卡| 被三个男人绑着躁我好爽视频| 男男gay18| 日韩欧美在线免费观看| 天天干天天摸天天操| 国产在线视频福利| 亚洲综合欧美色五月俺也去| 久久婷婷电影网| 99久久精品日本一区二区免费| 青青青国产依人精品视频| 污污的软件下载| 无码丰满熟妇一区二区| 国产精品美女久久久久久2018| 国产一区二区三区在线观看免费| 亚洲日本韩国在线| 一道本在线观看视频| 色噜噜视频影院| 狠狠ady精品| 无码熟妇αⅴ人妻又粗又大| 国产精品国产三级国产普通话a| 再来一次好吗动漫免费观看| 乱淫片免费影院观看|