源码实现:

// 类型特征运算模板
template<bool _Cond, typename _Iftrue, typename _Iffalse>
    struct conditional 
    { using type = _Iftrue; };

template<typename _Iftrue, typename _Iffalse>
    struct conditional <false, _Iftrue, _Iffalse>
    { using type = _Iffalse; };

测试程序:

int main(){
    std::cout << STL::conditional<true, STL::true_type, STL::false_type>::type::value
                << std::endl;
		std::cout << STL::conditional<false, STL::true_type, STL::false_type>::type::value
                << std::endl;
}