template元编程–数据类型
根据我的体会,数据类型主要有以下的几种
- 有明确类型信息,有数值
//把常量类型,和数值包装在struct里面才能够在编译期间使用到
template<class T,T __value>
struct const_value{
typedef T value_type;
static value_type value = __value;
};
typedef const_value<bool, true> true_tp;
typedef const_value<bool, false> false_tp;
- 有明确类型信息,无数值
//如 value_type
typedef int value_type;
//如 T在test中的使用
template<class T>
struct test{};
- 无明确类型信息,有数值
const static int test = 1;