Hello World
該程式將 Hello World!
列印到標準輸出流:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
}
看到它住在 Coliru 。
分析
讓我們詳細研究一下這段程式碼的每一部分:
-
#include <iostream>
是一個前處理器指令,包含標準 C++標頭檔案iostream
的內容。iostream
是標準庫標頭檔案,包含標準輸入和輸出流的定義。這些定義包含在std
名稱空間中,如下所述。標準輸入/輸出(I / O)資料流提供程式來得到從輸入和輸出到外部系統的方法 -通常是終端。
-
int
main(){ ... }
定義了一個名為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++語句和類定義都需要一個結束/終止分號。
-