程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 高級技術學者對C++代碼進行編制

高級技術學者對C++代碼進行編制

編輯:C++入門知識

C++代碼擁有很多成熟的用於網絡通信的庫,其中最具有代表性的是跨平台的、重量級的ACE庫,該庫可以說是C++語言最重要的成果之一,下面就進行學習研究,希望大家能夠得到自己想要的東西。

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

  1. #include<iostream> 
  2.  
  3.   #include<vector> 
  4.  
  5.   #include<algorithm> 
  6.  
  7.   using namespace std;  
  8.  
  9.  
  10.  
  11.   int main()  
  12.  
  13.   {  
  14.  
  15.       vector<double> v;  
  16.  
  17.  
  18.  
  19.       double d;  
  20.  
  21.       while(cin>>d) v.push_back(d);   // 讀入元素  
  22.  
  23.       if (!cin.eof()) {       // 檢查輸入是否出錯  
  24.  
  25.           cerr << "format error\n";  
  26.  
  27.           return 1;   // 返回一個錯誤  
  28.  
  29.       }  
  30.  
  31.  
  32.  
  33.       cout << "read " << v.size() << " elements\n";  
  34.  
  35.  
  36.  
  37.       reverse(v.begin(),v.end());  
  38.  
  39.       cout << "elements in reverse order:\n";  
  40.  
  41.       for (int i = 0; i<v.size(); ++i) cout << v[i] << '\n';  
  42.  
  43.  
  44.  
  45.       return 0; // 成功返回  
  46.  
  47.   } 


對這段程序的觀察:這是一段標准的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)中下載到它。

!cin.eof()是對流的格式的檢查。事實上,它檢查循環是否終結於發現一個end-of-file(如果不是這樣,那麼意味著輸入沒有按照給定的格式)。更多的說明,請參見你的C++教科書中的“流狀態”(stream state)部分。vector知道它自己的大小,因此我不需要計算元素的數量。

  • 講述C++語言的種種問題及其技巧說明
  • 探索C++語言種種簡潔靈活特性說明
  • 如何使用Visual C++子集搜索主題
  • 如何更好學習C++ ——及C++學習方法總結
  • 高級編程對C++學習方法說明指導

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved