转载:C++ 模板元编程 学习笔记 - 狂奔~ - 博客园 (cnblogs.com)
这一篇实现的if比较好,
重点:
目前C++提供了编译期间选择特性:std::conditional
从C++11开始,可以通过type_traits来实现。因为type_traits提供了编译期选择特性:std::conditional,它在编译期根据一个判断式选择两个类型中的一个,和条件表达式的语义类似,类似于一个三元表达式。它的原型是:
template< bool B, class T, class F >
struct conditional;