接着上一章的那個程序我們說起
#include <iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
return 0;
}
這個程序還有這兩種形式
#include <iostream>
using namespace std;
int main()
{
cout << "hello world\n";
return 0;
}
#include <iostream>
int main()
{
std::cout << "hello world" << std::endl;
return 0;
}
1. 我們一行一行的來看,第一個#號,是預處理器標記。就是每次啓動編譯器時,先運行預處理器,預處理器瀏覽代碼,先處理以#號開頭的代碼。include是c++中的一條預處理命令,作用就是找出跟在後面的文件(這裏也就是iostream),然後讀取文件,並把文件放到此處。< >這兩個符號告訴預處理器在默認的地方查找括號裏面的文件。
2. iostream是已經寫好的一個文件,程序中cout關鍵字就是它裏面定義的。
3. 程序開始是從main來執行的,這是程序的入口。可能有學過c的同學喜歡寫成void main,沒有最後的return 0,在c++裏這是不對的,c++的標準就是int main的這種方式。
4. cout是標準庫的一個對象,標準庫是一組類。
5. 第一種和第二種程序的區別大家都能看出,一個是用\n來換行,一個是用endl。第一種和第三種區別就是一個多了一句話,一個多了前綴。那是因爲在c++中可能會有不同廠家的同名對象,比如你輸入cout,如果不標明,程序就不知道這是要用哪一個cout,不同cout有不同用法,所以要標明我們用的這個是std名稱空間(標準名稱空間)的cout。這裏有兩種方式,一個是在每次使用cout前面加上std::,另一個就是在一開始就申明用的是std,using namespace std;。endl是同樣道理。如果你只用這兩個也可以把using nemaspace std;換成兩句using std::cout; using std::endl;
下章見(以上全是個人觀點,如果不當,敬請提出)