新聞中心
C++代碼擁有很多成熟的用于網(wǎng)絡(luò)通信的庫(kù),其中***有代表性的是跨平臺(tái)的、重量級(jí)的ACE庫(kù),該庫(kù)可以說(shuō)是C++語(yǔ)言最重要的成果之一,下面就進(jìn)行學(xué)習(xí)研究,希望大家能夠得到自己想要的東西。

10年積累的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有津南免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
特別是在一個(gè)學(xué)期的開始,我常常收到許多關(guān)于編寫一個(gè)非常簡(jiǎn)單的程序的詢問(wèn)。這個(gè)問(wèn)題有一個(gè)很具代表性的解決方法,那就是(在你的程序中)讀入幾個(gè)數(shù)字,對(duì)它們做一些處理,再把結(jié)果輸出。下面是一個(gè)這樣做的C++代碼例子:
- #include
- #include
- #include
- using namespace std;
- int main()
- {
- vector
v; - double d;
- while(cin>>d) v.push_back(d); // 讀入元素
- if (!cin.eof()) { // 檢查輸入是否出錯(cuò)
- cerr << "format error\n";
- return 1; // 返回一個(gè)錯(cuò)誤
- }
- cout << "read " << v.size() << " elements\n";
- reverse(v.begin(),v.end());
- cout << "elements in reverse order:\n";
- for (int i = 0; i
(); ++i) cout << v[i] << '\n'; - return 0; // 成功返回
- }
對(duì)這段程序的觀察:這是一段標(biāo)準(zhǔn)的ISO C++程序,使用了標(biāo)準(zhǔn)庫(kù)(standard library)。標(biāo)準(zhǔn)庫(kù)工具在命名空間std中聲明,封裝在沒(méi)有.h后綴的頭文件中。如果你要在Windows下編譯它,你需要將它編譯成一個(gè)“控制臺(tái)程序”(console application)。記得將源文件加上.cpp后綴,否則編譯器可能會(huì)以為它是一段C++代碼而不是C。
是的,main()函數(shù)返回一個(gè)int值。讀到一個(gè)標(biāo)準(zhǔn)的向量(vector)中,可以避免在隨意確定大小的緩沖中溢出的錯(cuò)誤。讀到一個(gè)數(shù)組(array)中,而不產(chǎn)生“簡(jiǎn)單錯(cuò)誤”(silly error),這已經(jīng)超出了一個(gè)新手的能力——如果你做到了,那你已經(jīng)不是一個(gè)新手了。如果你對(duì)此表示懷疑,我建議你閱讀我的文章“將標(biāo)準(zhǔn)C++代碼作為一種新的語(yǔ)言來(lái)學(xué)習(xí)”("Learning Standard C++ as a New Language"),你可以在本人著作列表(my publications list)中下載到它。
!cin.eof()是對(duì)流的格式的檢查。事實(shí)上,它檢查循環(huán)是否終結(jié)于發(fā)現(xiàn)一個(gè)end-of-file(如果不是這樣,那么意味著輸入沒(méi)有按照給定的格式)。更多的說(shuō)明,請(qǐng)參見你的C++教科書中的“流狀態(tài)”(stream state)部分。vector知道它自己的大小,因此我不需要計(jì)算元素的數(shù)量。#t#
這段程序沒(méi)有包含顯式的內(nèi)存管理。Vector維護(hù)一個(gè)內(nèi)存中的棧,以存放它的元素。當(dāng)一個(gè)vector需要更多的內(nèi)存時(shí),它會(huì)分配一些;當(dāng)它不再生存時(shí),它會(huì)釋放內(nèi)存。于是,使用者不需要再關(guān)心vector中元素的內(nèi)存分配和釋放問(wèn)題。
程序在遇到輸入一個(gè)“end-of-file”時(shí)結(jié)束。如果你在UNIX平臺(tái)下運(yùn)行它,“end-of-file”等于鍵盤上的Ctrl+D。如果你在Windows平臺(tái)下,那么由于一個(gè)BUG它無(wú)法辨別“end-of-file”字符,你可能傾向于使用下面這個(gè)稍稍復(fù)雜些的版本,它使用一個(gè)詞“end”來(lái)表示輸入已經(jīng)結(jié)束。
文章名稱:高級(jí)技術(shù)學(xué)者對(duì)C++代碼進(jìn)行編制
標(biāo)題URL:http://www.5511xx.com/article/djihhed.html


咨詢
建站咨詢
