C++ Primer筆記 第一篇、開始

1、從Hello World開始

1.1 編寫源文件

#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;
    std::string s;
    std::cin >> s;
    std::cout << s << std::endl;
    return 0;
}

main函數的返回類型必須是int

1.2 編譯源文件,生成目標文件

在源文件所在目錄下,輸入以下內容:

g++ helloworld.cpp -o helloworld.exe

這句話的意思是:調用g++編譯器,將helloworld.cpp編譯成名爲helloworld.exe的可執行的程序文件。
-o 選項指定了編譯生成的可執行程序文件的文件名。如果忽略了 -o 選項,g++會默認生成一個名爲a.out的可執行文件。在Linux系統中,這個文件名可以沒有後綴,爲了便於識別,一般會加上後綴,讓人知道其是一個可執行文件。

2、初識輸入輸出

C++並未定義任何輸入輸出語句,也就是說,輸入輸出功能並未內置在C++語言中。C++程序是依靠標準庫中的IO機制來實現輸入輸出的。
iostream庫包含兩個基礎類型:istream 和 ostream,分別表示輸入流(input stream)和輸出流(output stream)。


標準庫定義了4個標準輸入輸出對象:

  • istream類型:cin
  • ostream類型:cout, cerr, clog

輸出語句:

std::cout << "Hello World!" << std::endl;

<< 是一個運算符,和 +-*/ 類似,接受兩個運算對象。左側的運算對象必須是一個ostream對象,右側的運算對象是要輸出的值。表達式會產出一個計算結果,<<的計算結果就是左側的寫入輸出值的ostream對象。
上面的輸出語句使用了2次<<,因此第一個<<的計算結果成爲第二個<<的左側運算對象。因此我們可以使用輸出鏈的形式來進行輸出操作。
std::endl被稱爲操縱符。寫入endl 的效果是結束當前行,並將與設備關聯的的緩衝區中的內容刷新到設備中。
>>運算符類似:它接受兩個運算對象,左側的運算對象是一個istream對象,從中讀入數據,並存入到右側的運算對象中。計算的結果是左側的istream對象。

3、std命名空間

std::cout 和 std::cin 中,前綴 std:: 告訴編譯器,cout 和 cin 是定義在名爲 std命名空間(namespace) 中的。std 是標準庫的命名空間,:: 稱作 作用域運算符
命名空間可以避免命名衝突。
可以使用下面的語法來簡化訪問命名空間的語法:

using namespace std;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章