c++關鍵字 - 詳細總結

1.asm(彙編),用法如下:

asm   (指令字符串);

允許在C++程序中嵌入彙編代碼。


2. auto(自動,automatic)是存儲類型標識符,表明變量“自動”具有本地範圍,塊範圍的變量聲明(如for循環體內的變量聲明)默認爲auto存儲類型。

3. bool(布爾)類型,C++中的基本數據結構,其值可選爲true(真)或者false(假)。C++中的bool類型可以和int混用,具體來說就是0代表false,非0代表true。bool類型常用於條件判斷和函數返回值。

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

5. case用於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聲明一個變量,除了不能改變其值外,它仍是一具變量。
如 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的類型是一樣的。常量指針被轉化成非常量指針,並且仍然指向原來的對象;

常量引用被轉換成非常量引用,並且仍然指向原來的對象;常量對象被轉換成非常量對象。


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編譯器鏈接。使用這種情況有兩種形式:

extern “C” 聲明語句

extern “C” { 聲明語句塊 }


22. false

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


23. float

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


24. for

for是C++中的循環結構之一,用於有確定開始和結束以?

fc1

靶枰範ú匠さ難方峁埂?


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位編譯器有效。


39. reinterpret_cast

用法: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

用法: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),其格式爲: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(不穩定的)限定一個對象可被外部進程(操作系統、硬件或併發線程等)改變,聲明時的語法如下:

int volatile nVint;

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


62. wchar_t

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

 

 

標識符

定義:變量、符號常量、函數、數組、類型、文件、標籤和其他各種用戶定義的對象的名稱。

第一個字符必須是字母或下劃線

後續字符可以是字母、數字或下劃線

標識符的有效長度不超過247字符

標識符不能和關鍵字相同

標識符區分大小寫
最好也不要和系統預定義標識符同名
標識符命名要做到“見名知義”
應該避免使用可能引起混淆的字母
標識符命名要做到“見名知義”

 

 

 

   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章