C++ 的關鍵字(保留字)完整介紹

1. asmhtml

asm (指令字符串):容許在 C++ 程序中嵌入彙編代碼。express

2. auto數組

auto(自動,automatic)是存儲類型標識符,代表變量"自動"具備本地範圍,塊範圍的變量聲明(如for循環體內的變量聲明)默認爲auto存儲類型。安全

從 C++ 11 開始,auto 關鍵字再也不是 C++ 存儲類說明符數據結構

3. bool併發

bool(布爾)類型,C++ 中的基本數據結構,其值可選爲 true(真)或者 false(假)。C++ 中的 bool 類型能夠和 int 混用,具體來講就是 0 表明 false,非 0 表明 true。bool 類型經常使用於條件判斷和函數返回值。異步

4. break函數

break(中斷、跳出),用在switch語句或者循環語句中。程序遇到 break 後,即跳過該程序段,繼續後面的語句執行。優化

5. casethis

用於 switch 語句中,用於判斷不一樣的條件類型。

6. catch

catch 和 try 語句一塊兒用於異常處理。

7. char

char(字符,character)類型,C++ 中的基本數據結構,其值通常爲 0~255 的 int。這 256 個字符對應着 256 個 ASCII 碼。char 類型的數據須要用單引號 ' 括起來。

8.class

class(類)是 C++ 面向對象設計的基礎。使用 class 關鍵字聲明一個類。

9. const

const(常量的,constant)所修飾的對象或變量不能被改變,修飾函數時,該函數不能改變在該函數外面聲明的變量也不能調用任何非const函數。在函數的聲明與定義時都要加上const,放在函數參數列表的最後一個括號後。在 C++ 中,用 const 聲明一個變量,意味着該變量就是一個帶類型的常量,能夠代替 #define,且比 #define 多一個類型信息,且它執行內連接,可放在頭文件中聲明;但在 C 中,其聲明則必須放在源文件(即 .C 文件)中,在 C 中 const 聲明一個變量,除了不能改變其值外,它還是一具變量。如:

1constdoublepi(3.14159);2//或3constdoublepi =3.14159;

10. const_cast用法:

1 const_cast<type_id> (expression)

該運算符用來修改類型的 const 或 volatile 屬性。除了 const 或 volatile 修飾以外, type_id 和 expression 的類型是同樣的。常量指針被轉化成很是量指針,而且仍然指向原來的對象;常量引用被轉換成很是量引用,而且仍然指向原來的對象;常量對象被轉換成很是量對象。

11. continue

continue(繼續)關鍵字用於循環結構。它使程序跳過代碼段後部的部分,與 break 不一樣的是,continue 不是進入代碼段後的部分執行,而是從新開始新的循環。於是它是"繼續循環"之意,不是 break(跳出)。

12. default

default(默認、缺省)用於 switch 語句。當 switch 全部的 case 都不知足時,將進入 default 執行。default 只能放在 switch 語句全部的 case 以後,而且是可選的。

13. delete

delete(刪除)釋放程序動態申請的內存空間。delete 後面一般是一個指針或者數組 [],而且只能 delete 經過 new 關鍵字申請的指針,不然會發生段錯誤。

14. do

do-while是一類循環結構。與while循環不一樣,do-while循環保證至少要進入循環體一次。

15. double

double(雙精度)類型,C++ 中的基本數據結構,以雙精度形式存儲一個浮點數。

16. dynamic_cast

dynamic_cast(動態轉換),容許在運行時刻進行類型轉換,從而使程序可以在一個類層次結構安全地轉換類型。dynamic_cast 提供了兩種轉換方式,把基類指針轉換成派生類指針,或者把指向基類的左值轉換成派生類的引用。

17. else

else 緊跟在 if 後面,用於對 if 不成立的狀況的選擇。

18. enum

enum(枚舉)類型,給出一系列固定的值,只能在這裏面進行選擇一個。

19. explicit

explicit(顯式的)的做用是"禁止單參數構造函數"被用於自動型別轉換,其中比較典型的例子就是容器類型。在這種類型的構造函數中你能夠將初始長度做爲參數傳遞給構造函數。

20. export

爲了訪問其餘編譯單元(如另外一代碼文件)中的變量或對象,對普通類型(包括基本數據類、結構和類),能夠利用關鍵字 extern,來使用這些變量或對象時;可是對模板類型,則必須在定義這些模板類對象和模板函數時,使用標準 C++ 新增長的關鍵字 export(導出)。

21. extern

extern(外部的)聲明變量或函數爲外部連接,即該變量或函數名在其它文件中可見。被其修飾的變量(外部變量)是靜態分配空間的,即程序開始時分配,結束時釋放。用其聲明的變量或函數應該在別的文件或同一文件的其它地方定義(實現)。在文件內聲明一個變量或函數默認爲可被外部使用。在 C++ 中,還可用來指定使用另外一語言進行連接,這時須要與特定的轉換符一塊兒使用。目前僅支持 C 轉換標記,來支持 C 編譯器連接。使用這種狀況有兩種形式:

1extern"C"聲明語句23extern"C"{ 聲明語句塊 }

22. false

false(假的),C++ 的基本數據結構 bool 類型的值之一。等同於 int 的 0 值。

23. float

float(浮點數),C++ 中的基本數據結構,精度小於 double。

24. for

for 是 C++ 中的循環結構之一。

25. friend

friend(友元)聲明友元關係。友元能夠訪問與其有 friend 關係的類中的 private/protected 成員,經過友元直接訪問類中的 private/protected 成員的主要目的是提升效率。友元包括友元函數和友元類。

26. goto

goto(轉到),用於無條件跳轉到某一標號處開始執行。

27. if

if(若是),C++ 中的條件語句之一,能夠根據後面的 bool 類型的值選擇進入一個分支執行。

28. inline

inline(內聯)函數的定義將在編譯時在調用處展開。inline 函數通常由短小的語句組成,能夠提升程序效率。

29. int

int(整型,integer),C++ 中的基本數據結構,用於表示整數,精度小於 long。

30. long

long(長整型,long integer),C++ 中的基本數據結構,用於表示長整數。

31. mutable

mutable(易變的)是 C++ 中一個不經常使用的關鍵字。只能用於類的非靜態和很是量數據成員。因爲一個對象的狀態由該對象的非靜態數據成員決定,因此隨着數據成員的改變,對像的狀態也會隨之發生變化。若是一個類的成員函數被聲明爲 const 類型,表示該函數不會改變對象的狀態,也就是該函數不會修改類的非靜態數據成員。可是有些時候須要在該類函數中對類的數據成員進行賦值,這個時候就須要用到 mutable 關鍵字。

32. namespace

namespace(命名空間)用於在邏輯上組織類,是一種比類大的結構。

33. new

new(新建)用於新建一個對象。new 運算符老是返回一個指針。由 new 建立

34. operator

operator(操做符)用於操做符重載。這是 C++ 中的一種特殊的函數。

35. private

private(私有的),C++ 中的訪問控制符。被標明爲 private 的字段只能在本類以及友元中訪問。

36. protected

protected(受保護的),C++ 中的訪問控制符。被標明爲 protected 的字段只能在本類以及其繼承類和友元中訪問。

37. public

public(公有的),C++ 中的訪問控制符。被標明爲 public 的字段能夠在任何類

38.register

register(寄存器)聲明的變量稱着寄存器變量,在可能的狀況下會直接存放在機器的寄存器中;但對 32 位編譯器不起做用,當 global optimizations(全局優化)開的時候,它會作出選擇是否放在本身的寄存器中;不過其它與 register 關鍵字有關的其它符號都對32位編譯器有效。

從 C++ 11 開始, register 關鍵字被棄用.

39. reinterpret_cast

用法:

1 reinpreter_cast<type-id> (expression)

type-id 必須是一個指針、引用、算術類型、函數指針或者成員指針。它能夠把一個指針轉換成一個整數,也能夠把一個整數轉換成一個指針(先把一個指針轉換成一個整數,在把該整數轉換成原類型的指針,還能夠獲得原先的指針值)。

40. return

return(返回)用於在函數中返回值。程序在執行到 return 語句後當即返回,return 後面的語句沒法執行到。

41. short

short(短整型,short integer),C++ 中的基本數據結構,用於表示整數,精度小於 int。

42. signed

signed(有符號),代表該類型是有符號數,和 unsigned 相反。數字類型(整型和浮點型)均可以用 signed 修飾。但默認就是 signed,因此通常不會顯式使用。

43. sizeof

因爲 C++ 每種類型的大小都是由編譯器自行決定的,爲了增長可移植性,能夠用 sizeof 運算符得到該數據類型佔用的字節數。

44. static

static(靜態的)靜態變量做用範圍在一個文件內,程序開始時分配空間,結束時釋放空間,默認初始化爲 0,使用時可改變其值。靜態變量或靜態函數,只有本文件內的代碼纔可訪問它,它的名字(變量名或函數名)在其它文件中不可見。所以也稱爲"文件做用域"。在 C++ 類的成員變量被聲明爲 static(稱爲靜態成員變量),意味着它被該類的全部實例所共享,也就是說當某個類的實例修改了該靜態成員變量,其修改值爲該類的其它全部實例所見;而類的靜態成員函數也只能訪問靜態成員(變量或函數)。類的靜態成員變量必須在聲明它的文件範圍內進行初始化才能使用,private 類型的也不例外。

45. static_cast

用法:

1 static_cast < type-id > ( expression )

該運算符把 expression 轉換爲 type-id 類型,但沒有運行時類型檢查來保證轉換的安全性。它主要有以下幾種用法:

  • ① 用於類層次結構中基類和子類之間指針或引用的轉換。進行上行轉換(把子類的指針或引用轉換成基類表示)是安全的;進行下行轉換(把基類指針或引用轉換成子類表示)時,因爲沒有動態類型檢查,因此是不安全的。
  • ② 用於基本數據類型之間的轉換,如把 int 轉換成 char,把 int 轉換成 enum。這種轉換的安全性也要開發人員來保證。
  • ③ 把空指針轉換成目標類型的空指針。
  • ④ 把任何類型的表達式轉換成void類?

注意static_cast 不能轉換掉 expression 的 const、volitale、或者 __unaligned 屬性。

46. struct

struct(結構)類型,相似於 class 關鍵字,與 C 語言兼容(class 關鍵字是不與 C 語言兼容的),能夠實現面向對象程序設計。

47. switch

switch(轉換)相似於 if-else-if 語句,是一種多分枝語句。它提供了一種簡潔的書寫,而且可以生成效率更好的代碼。可是,switch 後面的判斷只能是int(char也能夠,但char本質上也是一種int類型)。switch 語句最後的 default 分支是可選的。

48. template

template(模板),C++ 中泛型機制的實現。

49. this

this 返回調用者自己的指針。

50. throw

throw(拋出)用於實現 C++ 的異常處理機制,能夠經過 throw 關鍵字"拋出"一個異常。

51. true

true(真的),C++ 的基本數據結構 bool 類型的值之一。等同於 int 的非 0 值。

52. try

try(嘗試)用於實現 C++ 的異常處理機制。能夠在 try 中調用可能拋出異常的函數,而後在 try 後面的 catch 中捕獲並進行處理。

53. typedef

typedef(類型定義,type define),其格式爲:

1 typedef //類型 定義名;

類型說明定義了一個數據類型的新名字而不是定義一種新的數據類型。定義名錶示這個類型的新名字。

54. typeid

指出指針或引用指向的對象的實際派生類型。

55. typename

typename(類型名字)關鍵字告訴編譯器把一個特殊的名字解釋成一個類型。在下列狀況下必須對一個 name 使用 typename 關鍵字:

  • 1. 一個惟一的name(能夠做爲類型理解),它嵌套在另外一個類型中的。
  • 2. 依賴於一個模板參數,就是說:模板參數在某種程度上包含這個name。當模板參數使編譯器在指認一個類型時產生了誤解。

56. union

union(聯合),相似於 enum。不一樣的是 enum 實質上是 int 類型的,而 union 能夠用於全部類型,而且其佔用空間是隨着實際類型大小變化的。

57. unsigned

unsigned(無符號),代表該類型是無符號數,和 signed 相反。

58. using

代表使用 namespace。

59. virtual

virtual(虛的),C++ 中用來實現多態機制。

60. void

void(空的),能夠做爲函數返回值,代表不返回任何數據;能夠做爲參數,代表沒有參數傳入(C++中不是必須的);能夠做爲指針使用。

61. volatile

volatile(不穩定的)限定一個對象可被外部進程(操做系統、硬件或併發線程等)改變,聲明時的語法以下:

1 int volatile nVint;

這樣的聲明是不能達到最高效的,由於它們的值隨時會改變,系統在須要時會常常讀寫這個對象的值。所以經常使用於像中斷處理程序之類的異步進程進行內存單元訪問。

62. wchar_t

wchar_t 是寬字符類型,每一個 wchar_t 類型佔 2 個字節,16 位寬。漢字的表示就要用到 wchar_t。

轉載至:https://www.runoob.com/w3cnote/cpp-keyword-intro.html

相關文章
相關標籤/搜索