Bjarne Stroustrup博士,1950年出生于丹麥,先后畢業(yè)于丹麥阿魯斯大學(xué)和英國劍撟大學(xué),AT&T大規(guī)模程序設(shè)計研究部門負(fù)責(zé)人,AT&T 貝爾實驗室和ACM成員。1979年,B. S開始開發(fā)一種語言,當(dāng)時稱為"C with Class",后來演化為C++。1998年,ANSI/ISO C++標(biāo)準(zhǔn)建立,同年,B. S推出其經(jīng)典著作The C++ Programming Language的第三版。
我常常收到許多關(guān)于編寫一個非常簡單的程序的詢問。這個問題有一個很具代表性的解決方法,那就是(在你的程序中)讀入幾個數(shù)字,對它們做一些處理,再把結(jié)果輸出。下面是一個這樣做的例子:
#include
#include
#include
using namespace std;
int main()
{
vector v;
double d;
while(cin>>d) v.push_back(d); // 讀入元素
if (!cin.eof()) { // 檢查輸入是否出錯
cerr << "format error\n";
return 1; // 返回一個錯誤
}
cout << "read " << v.size() << " elements\n";
reverse(v.begin(),v.end());
cout << "elements in reverse order:\n";
for (int i = 0; i return 0; // 成功返回
}
對這段程序的觀察:
這是一段標(biāo)準(zhǔn)的ISO C++程序,使用了標(biāo)準(zhǔn)庫(standard library)。標(biāo)準(zhǔn)庫工具在命名空間std中聲明,封裝在沒有.h后綴的頭文件中。
如果你要在Windows下編譯它,你需要將它編譯成一個“控制臺程序”(console application)。記得將源文件加上.cpp后綴,否則編譯器可能會以為它是一段C代碼而不是C++。
是的,main()函數(shù)返回一個int值。
讀到一個標(biāo)準(zhǔn)的向量(vector)中,可以避免在隨意確定大小的緩沖中溢出的錯誤。讀到一個數(shù)組(array)中,而不產(chǎn)生“簡單錯誤”(silly error),這已經(jīng)超出了一個新手的能力——如果你做到了,那你已經(jīng)不是一個新手了。如果你對此表示懷疑,我建議你閱讀我的文章“將標(biāo)準(zhǔn)C++作為一種新的語言來學(xué)習(xí)”("Learning Standard C++ as a New Language"),你可以在本人著作列表(my publications list)中下載到它。
!cin.eof()是對流的格式的檢查。事實上,它檢查循環(huán)是否終結(jié)于發(fā)現(xiàn)一個end-of-file(如果不是這樣,那么意味著輸入沒有按照給定的格式)。更多的說明,請參見你的C++教科書中的“流狀態(tài)”(stream state)部分。
我常常收到許多關(guān)于編寫一個非常簡單的程序的詢問。這個問題有一個很具代表性的解決方法,那就是(在你的程序中)讀入幾個數(shù)字,對它們做一些處理,再把結(jié)果輸出。下面是一個這樣做的例子:
#include
#include
#include
using namespace std;
int main()
{
vector
double d;
while(cin>>d) v.push_back(d); // 讀入元素
if (!cin.eof()) { // 檢查輸入是否出錯
cerr << "format error\n";
return 1; // 返回一個錯誤
}
cout << "read " << v.size() << " elements\n";
reverse(v.begin(),v.end());
cout << "elements in reverse order:\n";
for (int i = 0; i
}
對這段程序的觀察:
這是一段標(biāo)準(zhǔn)的ISO C++程序,使用了標(biāo)準(zhǔn)庫(standard library)。標(biāo)準(zhǔn)庫工具在命名空間std中聲明,封裝在沒有.h后綴的頭文件中。
如果你要在Windows下編譯它,你需要將它編譯成一個“控制臺程序”(console application)。記得將源文件加上.cpp后綴,否則編譯器可能會以為它是一段C代碼而不是C++。
是的,main()函數(shù)返回一個int值。
讀到一個標(biāo)準(zhǔn)的向量(vector)中,可以避免在隨意確定大小的緩沖中溢出的錯誤。讀到一個數(shù)組(array)中,而不產(chǎn)生“簡單錯誤”(silly error),這已經(jīng)超出了一個新手的能力——如果你做到了,那你已經(jīng)不是一個新手了。如果你對此表示懷疑,我建議你閱讀我的文章“將標(biāo)準(zhǔn)C++作為一種新的語言來學(xué)習(xí)”("Learning Standard C++ as a New Language"),你可以在本人著作列表(my publications list)中下載到它。
!cin.eof()是對流的格式的檢查。事實上,它檢查循環(huán)是否終結(jié)于發(fā)現(xiàn)一個end-of-file(如果不是這樣,那么意味著輸入沒有按照給定的格式)。更多的說明,請參見你的C++教科書中的“流狀態(tài)”(stream state)部分。