c++ type trait 之 useful trait

#include 
#include 

using namespace std;
enum class color : char
{
    yellow,
    red,
    bule
};
int main()
{
    //row Array的维度
    cout << rank<int []>::value << endl;
    //extent 维度I的宽度
    cout << extent<int[5][7],1>::value << endl;
    //
    remove_extent<int[5][3]>::type a = { 5,4,3 };//int[3]
    remove_all_extents<int[5][3]>::type b = 5;//int
    underlying_type::type c = 'e'; // char
    //使const int& decay(衰退为int)by value
    decay<const int&>::type i = 5;// int
    //enable_if 若B为真则产出type T 否则产出void
    enable_if<true, double>::type d = 3.11; // value
    //conditional若B为真则产出type T,否则产出 type D
    conditional<true, string, double>::type s = "Marco";// string
    //common_type 得到类型T和类型D的共通类型
    cout << typeid(common_type<int, double>::type).name() << endl;
    //result_of见其他博文详细介绍
    //alignment_of alignment_storage
    //alignment_storage
    //alignment_union见详细博文补充
    system("pause");
    return 0;
}

你可能感兴趣的:(C++)