template
struct is_void; t是否為void型別
template
struct is_enum; t是否為列舉型別
template
struct is_union; t是否為union型別
template
struct is_class; t是否為class/struct型別而不是union型別
template
struct is_function; t是否為函式型別
template
struct is_reference; t是否為引用型別
template
struct is_arithmetic; t是否為整型、浮點型別
template
struct is_fundamental; t是否為整型、浮點、void或nullptr_t型別
template
struct is_object; t是否為乙個物件型別(不是函式、不是引用、不是void)
template
struct is_scalar; t是否為arithmetic、enumeration、pointer、pointer to member或nullptr_t型別
template
struct is_compound; t是否非fundamental型別構造的
template
struct is_member_pointer; t是否為成員函式指標型別
template
struct is_polymorphic; t是否有虛函式
template
struct is_abstract; t是否為抽象類
template
struct is_signed; t是否是有符號型別
template
struct is_unsigned; t是否是無符號型別
template
struct is_const; t是否為const修飾的型別
使用如下:
cout << is_const::value << endl; //0
cout << is_const::value << endl; //1
template
struct is_same; 判斷兩個型別是否相同
template
struct is_base_of; 判斷base型別是否為derived型別的基類
template
struct is_convertible; 判斷前面的模板引數型別能否轉換為後面的模板引數型別
c 11常用特性
目錄 一 atomic 1 std atomic flag 2 std atomic 二 std thread 三 std condition variable 四 右值引用 五 std function std bind 六 lambda表示式 atomic flag 一種簡單的原子布林型別,只支...
C 11 新型的型別轉換
include typedef void pf int struct point int main 輸出 無警告,無錯誤 段錯誤c 方式強制型別轉換存在的問題 問題 強制型別轉換在實際工程中是很完全難避免的!如何進行更加安全可靠的轉換呢?static cast const cast dynamic ...
C 11 強型別列舉
c 11引入了一種新的列舉型別,即 列舉類 或 強型別列舉 宣告強型別列舉非常簡單,只需要在enum後加上class或struct即可。例如 enum old 老形式 enum class new 新形式 enum struct new2 新形式傳統的c 列舉型別有一些缺點 如果在相同作用域中的兩個...