菜鸟教程:C++ 的关键字(保留字)完整介绍
1. asm
asm (指令字符串):允許在 C++ 程序中嵌入?yún)R編代碼。
2. auto
auto(自動,automatic)是存儲類型標(biāo)識符,表明變量"自動"具有本地范圍,塊范圍的變量聲明(如for循環(huán)體內(nèi)的變量聲明)默認(rèn)為auto存儲類型。
3. bool
bool(布爾)類型,C++ 中的基本數(shù)據(jù)結(jié)構(gòu),其值可選為 true(真)或者 false(假)。C++ 中的 bool 類型可以和 int 混用,具體來說就是 0 代表 false,非 0 代表 true。bool 類型常用于條件判斷和函數(shù)返回值。
4. break
break(中斷、跳出),用在switch語句或者循環(huán)語句中。程序遇到 break 后,即跳過該程序段,繼續(xù)后面的語句執(zhí)行。
5. case
用于 switch 語句中,用于判斷不同的條件類型。
6. catch
catch 和 try 語句一起用于異常處理。
7. char
char(字符,character)類型,C++ 中的基本數(shù)據(jù)結(jié)構(gòu),其值一般為 0~255 的 int。這 256 個字符對應(yīng)著 256 個 ASCII 碼。char 類型的數(shù)據(jù)需要用單引號 ' 括起來。
8.class
class(類)是 C++ 面向?qū)ο笤O(shè)計的基礎(chǔ)。使用 class 關(guān)鍵字聲明一個類。
9. const
const(常量的,constant)所修飾的對象或變量不能被改變,修飾函數(shù)時,該函數(shù)不能改變在該函數(shù)外面聲明的變量也不能調(diào)用任何非const函數(shù)。在函數(shù)的聲明與定義時都要加上const,放在函數(shù)參數(shù)列表的最后一個括號后。在 C++ 中,用 const 聲明一個變量,意味著該變量就是一個帶類型的常量,可以代替 #define,且比 #define 多一個類型信息,且它執(zhí)行內(nèi)鏈接,可放在頭文件中聲明;但在 C 中,其聲明則必須放在源文件(即 .C 文件)中,在 C 中 const 聲明一個變量,除了不能改變其值外,它仍是一具變量。如:
const double pi(3.14159); 或 const double pi = 3.14159;?
10. const_cast用法:
const_cast<type_id> (expression)該運算符用來修改類型的 const 或 volatile 屬性。除了 const 或 volatile 修飾之外, type_id 和 expression 的類型是一樣的。常量指針被轉(zhuǎn)化成非常量指針,并且仍然指向原來的對象;常量引用被轉(zhuǎn)換成非常量引用,并且仍然指向原來的對象;常量對象被轉(zhuǎn)換成非常量對象。
11. continue
continue(繼續(xù))關(guān)鍵字用于循環(huán)結(jié)構(gòu)。它使程序跳過代碼段后部的部分,與 break 不同的是,continue 不是進(jìn)入代碼段后的部分執(zhí)行,而是重新開始新的循環(huán)。因而它是"繼續(xù)循環(huán)"之意,不是 break(跳出)。
12. default
default(默認(rèn)、缺省)用于 switch 語句。當(dāng) switch 所有的 case 都不滿足時,將進(jìn)入 default 執(zhí)行。default 只能放在 switch 語句所有的 case 之后,并且是可選的。
13. delete
delete(刪除)釋放程序動態(tài)申請的內(nèi)存空間。delete 后面通常是一個指針或者數(shù)組 [],并且只能 delete 通過 new 關(guān)鍵字申請的指針,否則會發(fā)生段錯誤。
14. do
do-while是一類循環(huán)結(jié)構(gòu)。與while循環(huán)不同,do-while循環(huán)保證至少要進(jìn)入循環(huán)體一次。
15. double
double(雙精度)類型,C++ 中的基本數(shù)據(jù)結(jié)構(gòu),以雙精度形式存儲一個浮點數(shù)。
16. dynamic_cast
dynamic_cast(動態(tài)轉(zhuǎn)換),允許在運行時刻進(jìn)行類型轉(zhuǎn)換,從而使程序能夠在一個類層次結(jié)構(gòu)安全地轉(zhuǎn)換類型。dynamic_cast 提供了兩種轉(zhuǎn)換方式,把基類指針轉(zhuǎn)換成派生類指針,或者把指向基類的左值轉(zhuǎn)換成派生類的引用。
17. else
else 緊跟在 if 后面,用于對 if 不成立的情況的選擇。
18. enum
enum(枚舉)類型,給出一系列固定的值,只能在這里面進(jìn)行選擇一個。
19. explicit
explicit(顯式的)的作用是"禁止單參數(shù)構(gòu)造函數(shù)"被用于自動型別轉(zhuǎn)換,其中比較典型的例子就是容器類型。在這種類型的構(gòu)造函數(shù)中你可以將初始長度作為參數(shù)傳遞給構(gòu)造函數(shù)。
20. export
為了訪問其他編譯單元(如另一代碼文件)中的變量或?qū)ο?#xff0c;對普通類型(包括基本數(shù)據(jù)類、結(jié)構(gòu)和類),可以利用關(guān)鍵字 extern,來使用這些變量或?qū)ο髸r;但是對模板類型,則必須在定義這些模板類對象和模板函數(shù)時,使用標(biāo)準(zhǔn) C++ 新增加的關(guān)鍵字 export(導(dǎo)出)。
21. extern
extern(外部的)聲明變量或函數(shù)為外部鏈接,即該變量或函數(shù)名在其它文件中可見。被其修飾的變量(外部變量)是靜態(tài)分配空間的,即程序開始時分配,結(jié)束時釋放。用其聲明的變量或函數(shù)應(yīng)該在別的文件或同一文件的其它地方定義(實現(xiàn))。在文件內(nèi)聲明一個變量或函數(shù)默認(rèn)為可被外部使用。在 C++ 中,還可用來指定使用另一語言進(jìn)行鏈接,這時需要與特定的轉(zhuǎn)換符一起使用。目前僅支持 C 轉(zhuǎn)換標(biāo)記,來支持 C 編譯器鏈接。使用這種情況有兩種形式:
extern "C" 聲明語句extern "C" { 聲明語句塊 }?
22. false
false(假的),C++ 的基本數(shù)據(jù)結(jié)構(gòu) bool 類型的值之一。等同于 int 的 0 值。
23. float
float(浮點數(shù)),C++ 中的基本數(shù)據(jù)結(jié)構(gòu),精度小于 double。
24. for
for 是 C++ 中的循環(huán)結(jié)構(gòu)之一。
25. friend
friend(友元)聲明友元關(guān)系。友元可以訪問與其有 friend 關(guān)系的類中的 private/protected 成員,通過友元直接訪問類中的 private/protected 成員的主要目的是提高效率。友元包括友元函數(shù)和友元類。
26. goto
goto(轉(zhuǎn)到),用于無條件跳轉(zhuǎn)到某一標(biāo)號處開始執(zhí)行。
27. if
if(如果),C++ 中的條件語句之一,可以根據(jù)后面的 bool 類型的值選擇進(jìn)入一個分支執(zhí)行。
28. inline
inline(內(nèi)聯(lián))函數(shù)的定義將在編譯時在調(diào)用處展開。inline 函數(shù)一般由短小的語句組成,可以提高程序效率。
29. int
int(整型,integer),C++ 中的基本數(shù)據(jù)結(jié)構(gòu),用于表示整數(shù),精度小于 long。
30. long
long(長整型,long integer),C++ 中的基本數(shù)據(jù)結(jié)構(gòu),用于表示長整數(shù)。
31. mutable
mutable(易變的)是 C++ 中一個不常用的關(guān)鍵字。只能用于類的非靜態(tài)和非常量數(shù)據(jù)成員。由于一個對象的狀態(tài)由該對象的非靜態(tài)數(shù)據(jù)成員決定,所以隨著數(shù)據(jù)成員的改變,對像的狀態(tài)也會隨之發(fā)生變化。如果一個類的成員函數(shù)被聲明為 const 類型,表示該函數(shù)不會改變對象的狀態(tài),也就是該函數(shù)不會修改類的非靜態(tài)數(shù)據(jù)成員。但是有些時候需要在該類函數(shù)中對類的數(shù)據(jù)成員進(jìn)行賦值,這個時候就需要用到 mutable 關(guān)鍵字。
32. namespace
namespace(命名空間)用于在邏輯上組織類,是一種比類大的結(jié)構(gòu)。
33. new
new(新建)用于新建一個對象。new 運算符總是返回一個指針。由 new 創(chuàng)建
34. operator
operator(操作符)用于操作符重載。這是 C++ 中的一種特殊的函數(shù)。
35. private
private(私有的),C++ 中的訪問控制符。被標(biāo)明為 private 的字段只能在本類以及友元中訪問。
36. protected
protected(受保護(hù)的),C++ 中的訪問控制符。被標(biāo)明為 protected 的字段只能在本類以及其繼承類和友元中訪問。
37. public
public(公有的),C++ 中的訪問控制符。被標(biāo)明為 public 的字段可以在任何類
38.register
register(寄存器)聲明的變量稱著寄存器變量,在可能的情況下會直接存放在機(jī)器的寄存器中;但對 32 位編譯器不起作用,當(dāng) global optimizations(全局優(yōu)化)開的時候,它會做出選擇是否放在自己的寄存器中;不過其它與 register 關(guān)鍵字有關(guān)的其它符號都對32位編譯器有效。
39. reinterpret_cast
用法:
reinpreter_cast<type-id> (expression)type-id 必須是一個指針、引用、算術(shù)類型、函數(shù)指針或者成員指針。它可以把一個指針轉(zhuǎn)換成一個整數(shù),也可以把一個整數(shù)轉(zhuǎn)換成一個指針(先把一個指針轉(zhuǎn)換成一個整數(shù),在把該整數(shù)轉(zhuǎn)換成原類型的指針,還可以得到原先的指針值)。
40. return
return(返回)用于在函數(shù)中返回值。程序在執(zhí)行到 return 語句后立即返回,return 后面的語句無法執(zhí)行到。
41. short
short(短整型,short integer),C++ 中的基本數(shù)據(jù)結(jié)構(gòu),用于表示整數(shù),精度小于 int。
42. signed
signed(有符號),表明該類型是有符號數(shù),和 unsigned 相反。數(shù)字類型(整型和浮點型)都可以用 signed 修飾。但默認(rèn)就是 signed,所以一般不會顯式使用。
43. sizeof
由于 C++ 每種類型的大小都是由編譯器自行決定的,為了增加可移植性,可以用 sizeof 運算符獲得該數(shù)據(jù)類型占用的字節(jié)數(shù)。
44. static
static(靜態(tài)的)靜態(tài)變量作用范圍在一個文件內(nèi),程序開始時分配空間,結(jié)束時釋放空間,默認(rèn)初始化為 0,使用時可改變其值。靜態(tài)變量或靜態(tài)函數(shù),只有本文件內(nèi)的代碼才可訪問它,它的名字(變量名或函數(shù)名)在其它文件中不可見。因此也稱為"文件作用域"。在 C++ 類的成員變量被聲明為 static(稱為靜態(tài)成員變量),意味著它被該類的所有實例所共享,也就是說當(dāng)某個類的實例修改了該靜態(tài)成員變量,其修改值為該類的其它所有實例所見;而類的靜態(tài)成員函數(shù)也只能訪問靜態(tài)成員(變量或函數(shù))。類的靜態(tài)成員變量必須在聲明它的文件范圍內(nèi)進(jìn)行初始化才能使用,private 類型的也不例外。
45. static_cast
用法:
static_cast < type-id > ( expression )該運算符把 expression 轉(zhuǎn)換為 type-id 類型,但沒有運行時類型檢查來保證轉(zhuǎn)換的安全性。它主要有如下幾種用法:
- ① 用于類層次結(jié)構(gòu)中基類和子類之間指針或引用的轉(zhuǎn)換。進(jìn)行上行轉(zhuǎn)換(把子類的指針或引用轉(zhuǎn)換成基類表示)是安全的;進(jìn)行下行轉(zhuǎn)換(把基類指針或引用轉(zhuǎn)換成子類表示)時,由于沒有動態(tài)類型檢查,所以是不安全的。
- ② 用于基本數(shù)據(jù)類型之間的轉(zhuǎn)換,如把 int 轉(zhuǎn)換成 char,把 int 轉(zhuǎn)換成 enum。這種轉(zhuǎn)換的安全性也要開發(fā)人員來保證。
- ③ 把空指針轉(zhuǎn)換成目標(biāo)類型的空指針。
- ④ 把任何類型的表達(dá)式轉(zhuǎn)換成void類?
注意 static_cast 不能轉(zhuǎn)換掉 expression 的 const、volitale、或者 __unaligned 屬性。
46. struct
struct(結(jié)構(gòu))類型,類似于 class 關(guān)鍵字,與 C 語言兼容(class 關(guān)鍵字是不與 C 語言兼容的),可以實現(xiàn)面向?qū)ο蟪绦蛟O(shè)計。
47. switch
switch(轉(zhuǎn)換)類似于 if-else-if 語句,是一種多分枝語句。它提供了一種簡潔的書寫,并且能夠生成效率更好的代碼。但是,switch 后面的判斷只能是int(char也可以,但char本質(zhì)上也是一種int類型)。switch 語句最后的 default 分支是可選的。
48. template
template(模板),C++ 中泛型機(jī)制的實現(xiàn)。
49. this
this 返回調(diào)用者本身的指針。
50. throw
throw(拋出)用于實現(xiàn) C++ 的異常處理機(jī)制,可以通過 throw 關(guān)鍵字"拋出"一個異常。
51. true
true(真的),C++ 的基本數(shù)據(jù)結(jié)構(gòu) bool 類型的值之一。等同于 int 的非 0 值。
52. try
try(嘗試)用于實現(xiàn) C++ 的異常處理機(jī)制。可以在 try 中調(diào)用可能拋出異常的函數(shù),然后在 try 后面的 catch 中捕獲并進(jìn)行處理。
53. typedef
typedef(類型定義,type define),其格式為:
typedef 類型 定義名;類型說明定義了一個數(shù)據(jù)類型的新名字而不是定義一種新的數(shù)據(jù)類型。定義名表示這個類型的新名字。
54. typeid
指出指針或引用指向的對象的實際派生類型。
55. typename
typename(類型名字)關(guān)鍵字告訴編譯器把一個特殊的名字解釋成一個類型。在下列情況下必須對一個 name 使用 typename 關(guān)鍵字:
- 1. 一個唯一的name(可以作為類型理解),它嵌套在另一個類型中的。
- 2. 依賴于一個模板參數(shù),就是說:模板參數(shù)在某種程度上包含這個name。當(dāng)模板參數(shù)使編譯器在指認(rèn)一個類型時產(chǎn)生了誤解。
56. union
union(聯(lián)合),類似于 enum。不同的是 enum 實質(zhì)上是 int 類型的,而 union 可以用于所有類型,并且其占用空間是隨著實際類型大小變化的。
57. unsigned
unsigned(無符號),表明該類型是無符號數(shù),和 signed 相反。
58. using
表明使用 namespace。
59. virtual
virtual(虛的),C++ 中用來實現(xiàn)多態(tài)機(jī)制。
60. void
void(空的),可以作為函數(shù)返回值,表明不返回任何數(shù)據(jù);可以作為參數(shù),表明沒有參數(shù)傳入(C++中不是必須的);可以作為指針使用。
61. volatile
volatile(不穩(wěn)定的)限定一個對象可被外部進(jìn)程(操作系統(tǒng)、硬件或并發(fā)線程等)改變,聲明時的語法如下:
int volatile nVint;這樣的聲明是不能達(dá)到最高效的,因為它們的值隨時會改變,系統(tǒng)在需要時會經(jīng)常讀寫這個對象的值。因此常用于像中斷處理程序之類的異步進(jìn)程進(jìn)行內(nèi)存單元訪問。
62. wchar_t
wchar_t 是寬字符類型,每個 wchar_t 類型占 2 個字節(jié),16 位寬。漢字的表示就要用到 wchar_t。
原文:https://www.runoob.com/w3cnote/cpp-keyword-intro.html
總結(jié)
以上是生活随笔為你收集整理的菜鸟教程:C++ 的关键字(保留字)完整介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝人脸数据被共享?李开复道歉
- 下一篇: Fedora WIFI频繁断开问题的解决