1 integral_constant类
这个类是所有traits类的基类,分别提供了以下功能:
- value_type 表示值的类型
- value表示值
- type 表示自己, 因此可以用::type::value来获取值
- true_type和false_type两个特化类用来表示bool值类型的traits,很多traits类都需要继承它们
下面的代码分别来自C++11和Boost,略有差别:
- C++11包含value_type()函数,返回真正的value
- C++11用constexpr关键字表示在编译期执行