標識符是一個字符序列,用來標識變量、函數(shù)、數(shù)據(jù)類型等。任何程序都離不開標識符,也就是說,不可能有沒有標識符的C++程序。在程序2-1中,include、void、main、int、i、cin、cout等都是標識符。
標識符可以由大寫字母、小寫字母、下劃線(_)和數(shù)字0~9組成,但必須是以大寫字母、小寫字母或下劃線(_)開頭。在C++語言程序中,大寫字母和小寫字母不能混用,比如Name和name就代表兩個不同的標識符。在表2-1中,我們給出了幾個正確和不正確的標識符實例。
表2-1:正確和不正確的標識符實例
正確 不正確
smart 5smart(不能數(shù)字開頭)
_decision bomb?(有非法字符?)
key_board key.board(有非法字符.)
標識符的命名規(guī)則:
1. 所有標識符必須由一個字母(a~z或A~Z)或下劃線(_)開頭;
2. 標識符的其它部分可以用字母、下劃線或數(shù)字(0~9)組成;
3. 大小寫字母表示不同意義, 即代表不同的標識符,如前面的cout和Cout;
在定義標識符時,雖然語法上允許用下劃線開頭,但是,我們避免定義用下劃線開頭的標識符,因為編譯器常常定義一些下劃線開頭的標識符。
C++沒有限制一個標識符中字符的個數(shù),但是,大多數(shù)的編譯器都會有限制。不過,我們在定義標識符時,通常并不用擔心標識符中字符數(shù)會不會超過編譯器的限制,因為編譯器限制的數(shù)字很大(例如255)。
一個寫得好的程序,標識符應該盡量有意義。 比如表示年可以用year,表示長度可以用length,表示累加和可以用sum等,這樣的標識符本身就增加了程序的可讀性,使程序更加清晰易懂。
C++語言的標識符經(jīng)常用在以下情況中:
1. 標識對象或變量的名字
2. 類、結構和聯(lián)合的成員
3. 函數(shù)或類的成員函數(shù)
4. 自定義類型名
5. 標識宏的名字
6. 宏的參數(shù)
在C++中,有一些預定義的標識符,稱之為關鍵字,也稱之為保留字。例如,程序2-1中的int、void都是關鍵字??梢姡P鍵字是一種特殊的標識符。關鍵字具有特定的含義,不能對它們再定義。例如,int、void在C++中被預定義為特定的數(shù)據(jù)類型,我們不能把它們再定義為變量的標識符。C++的關鍵字很多,不僅僅程序2-1中見到的int和void兩個。標準 C++中預定義了63個關鍵字,參見表2-2。另外,還定義了11個運算符關鍵字,它們是:and、and_eq、bitand、bitor、compl、not、not_eq、or、or_eq、xor ?、xor_eq。在我們后面要學習的內容中,并沒有涉及到C++的所有關鍵字,但會逐步介紹最重要和最常用的一些關鍵字。
另外,有些標識符雖然不是關鍵字,但C++語言總是以固定的形式用于專門的地方,也不能把它們當作一般標識符使用,以免造成混亂。這樣的標識符有include、define等,我們在后面的學習中會逐漸遇到。
表2-2 C++關鍵字
asm default float operator static_cast union
auto delete for private struct unsigned
bool do friend protected switch using
break double goto public template virtual
case dynamic_cast if register this void
catch else inline reinterpret_cast throw volatile
char enum int return true wchar_t
class explicit long short try while
const export mutable signed typedef .
const_cast extern namespace sizeof typeid . .
Continue false new static typename .
標識符可以由大寫字母、小寫字母、下劃線(_)和數(shù)字0~9組成,但必須是以大寫字母、小寫字母或下劃線(_)開頭。在C++語言程序中,大寫字母和小寫字母不能混用,比如Name和name就代表兩個不同的標識符。在表2-1中,我們給出了幾個正確和不正確的標識符實例。
表2-1:正確和不正確的標識符實例
正確 不正確
smart 5smart(不能數(shù)字開頭)
_decision bomb?(有非法字符?)
key_board key.board(有非法字符.)
標識符的命名規(guī)則:
1. 所有標識符必須由一個字母(a~z或A~Z)或下劃線(_)開頭;
2. 標識符的其它部分可以用字母、下劃線或數(shù)字(0~9)組成;
3. 大小寫字母表示不同意義, 即代表不同的標識符,如前面的cout和Cout;
在定義標識符時,雖然語法上允許用下劃線開頭,但是,我們避免定義用下劃線開頭的標識符,因為編譯器常常定義一些下劃線開頭的標識符。
C++沒有限制一個標識符中字符的個數(shù),但是,大多數(shù)的編譯器都會有限制。不過,我們在定義標識符時,通常并不用擔心標識符中字符數(shù)會不會超過編譯器的限制,因為編譯器限制的數(shù)字很大(例如255)。
一個寫得好的程序,標識符應該盡量有意義。 比如表示年可以用year,表示長度可以用length,表示累加和可以用sum等,這樣的標識符本身就增加了程序的可讀性,使程序更加清晰易懂。
C++語言的標識符經(jīng)常用在以下情況中:
1. 標識對象或變量的名字
2. 類、結構和聯(lián)合的成員
3. 函數(shù)或類的成員函數(shù)
4. 自定義類型名
5. 標識宏的名字
6. 宏的參數(shù)
在C++中,有一些預定義的標識符,稱之為關鍵字,也稱之為保留字。例如,程序2-1中的int、void都是關鍵字??梢姡P鍵字是一種特殊的標識符。關鍵字具有特定的含義,不能對它們再定義。例如,int、void在C++中被預定義為特定的數(shù)據(jù)類型,我們不能把它們再定義為變量的標識符。C++的關鍵字很多,不僅僅程序2-1中見到的int和void兩個。標準 C++中預定義了63個關鍵字,參見表2-2。另外,還定義了11個運算符關鍵字,它們是:and、and_eq、bitand、bitor、compl、not、not_eq、or、or_eq、xor ?、xor_eq。在我們后面要學習的內容中,并沒有涉及到C++的所有關鍵字,但會逐步介紹最重要和最常用的一些關鍵字。
另外,有些標識符雖然不是關鍵字,但C++語言總是以固定的形式用于專門的地方,也不能把它們當作一般標識符使用,以免造成混亂。這樣的標識符有include、define等,我們在后面的學習中會逐漸遇到。
表2-2 C++關鍵字
asm default float operator static_cast union
auto delete for private struct unsigned
bool do friend protected switch using
break double goto public template virtual
case dynamic_cast if register this void
catch else inline reinterpret_cast throw volatile
char enum int return true wchar_t
class explicit long short try while
const export mutable signed typedef .
const_cast extern namespace sizeof typeid . .
Continue false new static typename .

