《C++標準程序庫》-1

explicit關鍵字

這個關鍵字原則上只對構造函數起做用,抑制陰性轉換,例如:函數

class String{   String(int size); //本意是要申請size大小的字符串
 };

若是此時調用spa

String s1(20);  //成功申請20個大小長度的字符串
 String s2 = 20; //同上
 String s3 = 'a'; //本意是要把a賦值給s3,結果是 申請了a字符對應大小的字符串

此時原函數聲明變成code

class String{   explicit String(int size); };

這樣就會抑制s3 = 'a'的 隱形轉換對象

 

static_cast

利用原值重建一個臨時對象,並在設立初值時使用類型轉換blog

ci

float x; cout << static_cast<int>(x)<<endl; //把x轉換爲float輸出

 

C++標準main()定義格式

int main(){ ... 
}
int main(int argc,char* argv[]){ ... }

能夠省略最後的return 0;會自動加上一個隱式的return 0;字符串

相關文章
相關標籤/搜索