Hello World
該程式將 Hello World! 列印到標準輸出流:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
}
看到它住在 Coliru 。
分析
讓我們詳細研究一下這段程式碼的每一部分:
-
#include <iostream>是一個前處理器指令,包含標準 C++標頭檔案iostream的內容。iostream是標準庫標頭檔案,包含標準輸入和輸出流的定義。這些定義包含在std名稱空間中,如下所述。標準輸入/輸出(I / O)資料流提供程式來得到從輸入和輸出到外部系統的方法 -通常是終端。
-
intmain(){ ... }定義了一個名為main的新函式 。按照慣例,在執行程式時呼叫main函式。在 C++程式中必須只有一個main函式,它必須始終返回一些int型別。這裡,
int就是所謂的函式返回型別 。main函式返回的值是退出程式碼。按照慣例,
0或EXIT_SUCCESS的程式退出程式碼被執行程式的系統解釋為成功。任何其他返回程式碼都與錯誤相關聯。如果沒有
return語句,則main函式(以及程式本身)預設返回0。在這個例子中,我們不需要明確地寫出return 0;。除了返回
void型別的函式之外的所有其他函式必須根據其返回型別顯式返回值,否則根本不能返回。 -
std::cout << "Hello World!" << std::endl;列印Hello World!到標準輸出流:-
std是一個名稱空間 ,::是作用域解析運算子,它允許在名稱空間中按名稱查詢物件。有許多名稱空間。在這裡,我們使用
::來表示我們想要使用std名稱空間中的cout。有關更多資訊,請參閱範圍解析運算子 - Microsoft 文件 。 -
std::cout是標準的輸出流物件,在iostream中定義,它列印到標準輸出(stdout)。 -
<<是,在這種情況下,所述流插入操作,所謂的,因為它插入的物體進入流物件。標準庫定義
<<運算子,以將某些資料型別的資料插入到輸出流中。stream << content將content插入到流中並返回相同但更新的流。這允許連結流插入:std::cout << "Foo" << " Bar";將FooBar列印到控制檯。 -
Hello World!是一個字串文字,或文字文字。字串文字的流插入運算子在檔案iostream中定義。 -
std::endl是一個特殊的 I / O 流操作器物件,也在檔案iostream中定義。將操作器插入流中會更改流的狀態。流操作器
std::endl做了兩件事:首先它插入行尾字元,然後重新整理流緩衝區以強制文字顯示在控制檯上。這可確保插入到流中的資料實際顯示在控制檯上。 (流資料通常儲存在緩衝區中,然後批量重新整理,除非你立即強制重新整理。)避免重新整理的另一種方法是:
std::cout << "Hello World!\n";其中
\n是換行符的字元轉義序列。 -
分號(
;)通知編譯器語句已結束。所有 C++語句和類定義都需要一個結束/終止分號。
-