c 新關鍵字詳解

2021-06-20 08:50:41 字數 893 閱讀 9974

alignof用於獲取取指定表示式指定的(類似sizeof,可以直接是型別名)的對齊(alignment)。alignas用於宣告時指定對齊類似於現有的型別。和sizeof類似,兩者的運算元都不被求值。

類似const但更強大,修飾函式或物件,表示函式結果或物件是編譯時決定的常量,以便優化。(const不能修飾一般的函式,也不一定指定宣告的物件能編譯期的常量表示式,更可能只是唯讀物件。而在c語言中,const完全只能指定唯讀物件。)

二者分別表示16位字元型和32位字元型,類似char和wchar_t,也是一般只專用於表示字元的整數型別,且設計上用於表示

unicode字元。char16_t和char32_t是c++11新增的,以克服wchar_t在不同平台上無法保證確定寬度的缺點。

用於編譯時推斷型別。此外參與函式宣告的另一種語法:指定返回auto,同時decltype引導trailing-return-type指定實際應該返回型別。decltype的運算元也不被求值。

字面量nullptr是具有std::nullptr_t型別的右值,是空指標常量。c++98/03中表示空指標常量的null或0都會在過載中引起混淆,而純庫的解決方案在這裡也遇到困難,所以有必要加入新的關鍵字來專門表示空指標。

實踐表明動態異常規範會影響執行時效能。新增的noexcept表示靜態異常規範,只指定函式(模版)是否有異常丟擲,這裡noexcept即noexcept(true),表示沒有異常丟擲。除了異常規範,noexcept可以作用於乙個表示式來判斷是否有異常,這對於模版**非常有用。

用於編譯時的靜態斷言:若指定的表示式為false則編譯失敗。

c++11標準和c++98/03標準的auto是不同的。c++98/03標準中,auto表示自動儲存型別

[6];c++11標準中,auto表示由編譯器靜態判斷其應有的型別

[4]。

C語言關鍵字詳解

一 c語言的關鍵字共有32個,根據關鍵字的作用,可分其為資料型別關鍵字 控制語句關鍵字 儲存型別關鍵字和其它關鍵字四類。1 資料型別關鍵字 12個 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int...

C語言關鍵字詳解

c的關鍵字共32個 資料型別關鍵字 12 char,short,int,long,float,double,unsigned,signed,union,enum,void,struct 控制語句關鍵字 12 if,else,switch,case,default,for,do,while,break...

C 詳解關鍵字static extern

在不同的上下文環境,static 關鍵字具有不同的作用效果,具體如下 當它作 用於函式定義或者 用於 塊之外的變數 宣告時,static 關鍵字 用於修改標示符的鏈結屬性。外部鏈結屬性變為內部鏈結屬性,識別符號的儲存型別和作 用域不受影響。也就是說變數或者函式只能在當前源 檔案中訪問,不能在其他源 ...