C++ 程序可以定義為對象的集合,這些對象通過調用彼此的方法進行交互。現在讓我們簡要地看一下什麼是類、對象,方法、即時變量。
讓我們看一段簡單的代碼,可以輸出單詞 Hello World。
#include <iostream> using namespace std; // main() 是程序開始執行的地方 int main() { cout << "Hello World"; // 輸出 Hello World return 0; }
接下來我們講解一下上面這段程序:
接下來讓我們看看如何把源代碼保存在一個文件中,以及如何編譯並運行它。下面是簡單的步驟:
$ g++ hello.cpp $ ./a.out Hello World
請確保您的路徑中已包含 g++ 編譯器,並確保在包含源文件 hello.cpp 的目錄中運行它。
您也可以使用 makefile 來編譯 C/C++ 程序。
在 C++ 中,分號是語句結束符。也就是說,每個語句必須以分號結束。它表明一個邏輯實體的結束。
例如,下面是三個不同的語句:
x = y; y = y+1; add(x, y);
塊是一組使用大括號括起來的按邏輯連接的語句。例如:
{ cout << "Hello World"; // 輸出 Hello World return 0; }
C++ 不以行末作為結束符的標識,因此,您可以在一行上放置多個語句。例如:
x = y; y = y+1; add(x, y);
等同於
x = y; y = y+1; add(x, y);
C++ 標識符是用來標識變量、函數、類、模塊,或任何其他用戶自定義項目的名稱。一個標識符以字母 A-Z 或 a-z 或下劃線 _ 開始,後跟零個或多個字母、下劃線和數字(0-9)。
C++ 標識符內不允許出現標點字符,比如 @、$ 和 %。C++ 是區分大小寫的編程語言。因此,在 C++ 中,Manpower 和 manpower 是兩個不同的標識符。
下面列出幾個有效的標識符:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
下表列出了 C++ 中的保留字。這些保留字不能作為常量名、變量名或其他標識符名稱。
asmelsenewthis autoenumoperatorthrow boolexplicitprivatetrue breakexportprotectedtry caseexternpublictypedef catchfalseregistertypeid charfloatreinterpret_casttypename classforreturnunion constfriendshortunsigned const_castgotosignedusing continueifsizeofvirtual defaultinlinestaticvoid deleteintstatic_castvolatile dolongstructwchar_t doublemutableswitchwhile dynamic_castnamespacetemplate三字符組就是用於表示另一個字符的三個字符序列,又稱為三字符序列。三字符序列總是以兩個問號開頭。
三字符序列不太常見,但 C++ 標准允許把某些字符指定為三字符序列。以前為了表示鍵盤上沒有的字符,這是必不可少的一種方法。
三字符序列可以出現在任何地方,包括字符串、字符序列、注釋和預處理指令。
下面列出了最常用的三字符序列:
如果希望在源程序中有兩個連續的問號,且不希望被預處理器替換,這種情況出現在字符常量、字符串字面值或者是程序注釋中,可選辦法是用字符串的自動連接:"...?""?..."或者轉義序列:"...?\?..."。
從Microsoft Visual C++ 2010版開始,該編譯器默認不再自動替換三字符組。如果需要使用三字符組替換(如為了兼容古老的軟件代碼),需要設置編譯器命令行選項/Zc:trigraphs
g++仍默認支持三字符組,但會給出編譯警告。
只包含空格的行,被稱為空白行,可能帶有注釋,C++ 編譯器會完全忽略它。
在 C++ 中,空格用於描述空白符、制表符、換行符和注釋。空格分隔語句的各個部分,讓編譯器能識別語句中的某個元素(比如 int)在哪裡結束,下一個元素在哪裡開始。因此,在下面的語句中:
int age;
在這裡,int 和 age 之間必須至少有一個空格字符(通常是一個空白符),這樣編譯器才能夠區分它們。另一方面,在下面的語句中:
fruit = apples + oranges; // 獲取水果的總數
fruit 和 =,或者 = 和 apples 之間的空格字符不是必需的,但是為了增強可讀性,您可以根據需要適當增加一些空格。