有些名稱是自行定義的,有些名稱則屬於標準程式庫 (standard library) 中已經定義好的,例如 string 、 cout 等。標準程式庫是依 C++ 標準由編譯器 (compiler) 提供的程式庫 (library) ,大多是經常需要的程式定義,提供非常多樣的功能,例如資料結構、處理時間、輸入輸出、圖形介面、網路通訊等,我們在需要時可以引入所需的程式庫,無須自行開發相同或類似的程式。
我們自行定義的識別字應避免與 API 中的相同,如果我們定義相同的識別字名稱,雖然可以通過編譯,但容易造成混淆或名稱衝突,因此應避免,例如以下程式
#include <iostream> using namespace std; int main(void) { char *string = "There is no spoon."; cout << endl; cout << string << endl; cout << endl << endl; return 0; } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:demo2.cpp 功能:示範 C++ 程式 作者:張凱慶 時間:西元 2012 年 10 月 */
這個例子中我們用 string 當變數 (variable) 名稱,編譯執行都是沒有問題的
但是當我們要用到標準程式庫中的 string 來宣告變數時,這裡就會產生名稱衝突。簡單說, demo2.cpp 的 main() 已經有 string 當區域變數,之後再用任何 string 都是指已經建立的區域變數 string ,而非標準程式庫中的 string 類別,因而造成標準程式庫中的 string 無法使用。
習慣上識別字命名是採用英文二十六的大小寫字母為主,另加上數字、底線符號及金錢符號,如下表
_ | $ | |||||||||||
a | b | c | d | e | f | g | h | i | j | k | l | m |
n | o | p | q | r | s | t | u | v | w | x | y | z |
A | B | C | D | E | F | G | H | I | J | K | L | M |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
基本上變數或識別字命名以簡單、清楚為原則,常見的就是小寫英文單字與小寫英文單字的組合
iter total screen rfind
另外有大寫駝峰型 (upper camel case)
SimpleGame MyStory ThreadTestDrive RunThreads
或小寫駝峰型 (lower camel case)
actionPerformed setUpNetworking getField myField
也可利用底線符號連結每個英文單字
exam_score test_result my_file find_first_of
命名全看個人喜好,或是開發團隊的習慣囉!
記得,每一行程式都要以分號結尾,若是漏打分號的話,編譯器還會中斷編譯,並且提供警告訊息,因為有分號結尾的程式碼,在 C++ 稱之為陳述 (statement) ,簡單的陳述可由運算式 (expression) 組成,接下來我們開始詳細討論運算式與陳述吧!
中英文術語對照 | |
---|---|
程式 | program |
識別字 | identifier |
類別 | class |
物件 | object |
名稱空間 | namespace |
區域變數 | local variable |
標準程式庫 | standard library |
編譯器 | compiler |
程式庫 | library |
變數 | variable |
大寫駝峰型 | upper camel case |
小寫駝峰型 | lower camel case |
陳述 | statement |
運算式 | expression |
您可以繼續參考
基礎篇
相關目錄
回 C++ 入門指南
回 C++ 教材目錄
回首頁
參考資料
http://www.cplusplus.com/doc/tutorial/variables/
沒有留言:
張貼留言