用于选择数据类型
template <typename A, typename B>
std::conditional<(bool), A, B>::type // (bool)判断条件,若为true选择类型A,否则选择B;
代码示例
template <typename Type>
struct DefineTypeStruct
{
using DefineType = typename std::conditional<std::is_same<int, Type>::value, int, bool>::type;
}
int main()
{
DefineTypeStruct<int>::DefineType val_1 = 10;
DefineTypeStruct<bool>::DefineType val_2 = 10;
std::cout<<val_1<<std::endl;
std::cout<<val_2<<std::endl;
return 0;
}