摘要:本文給出了C++關鍵字的使用頻度列表並且對一些比較生僻的關鍵字做了簡要解釋
關鍵字:C++,關鍵字,保留字,explicit,volatile,mutable,register
1.explicit
關鍵字用來修飾類的構造函數,表明該構造函數是顯式的。舉例說說明如下:
假設我們這樣定義了一個c++類
class MyClass
{
public:
MyClass( int num ){}
};
那么如果構造函數MyClass前沒有關鍵字,下面的語句
MyClass obj = 10; //ok,convert int to MyClass
在編譯時(VC++ 6.0測試)是可以通過的,進行了一個隱式轉換,相當於執行了下面的語句
MyClass temp(10);
MyClass obj = temp;
但是如果我們在構造函數前面加上explicit 關鍵字,即
class MyClass
{
public:
explicit MyClass( int num ){}
};
就表明構造函數不能進行上面所說的隱式轉換
編譯時(VC++ 6.0)會給出error C2440: 'initializing' : cannot convert from 'const int' to 'class MyClass'
的錯誤報告!
2.volatile
用volatile關鍵字聲明變量,是用來告訴編譯器每次對此變量的引用都需要從內存地址中讀取,即取消
編譯器對此變量的優化編譯。
3.mutable
C++類中的成員變量如果被mutable修飾,那么在const修飾的成員函數種也可以修改這個變量的值
4.register
現在的編譯器都能夠的根據程序中的變量使用情況,將其中的使用頻率很高的變量自動設為register,
兒無需人為的規定了。如果自己指定了register變量,但是編譯器如果發現不合理,也會自動的取消程序員
指定的register變量
