元编程 (metaprogramming) 通过操作 程序实体 (program entity),在 编译时 (compile time) 计算出 运行时 (runtime) 需要的常数、类型、代码的方法
元函数
一种函数,输入一个东西,输出一个东西,就是一种映射
类型元函数
输入一种类型,返回出一种类型。
//函数定义
template<typename T>
class FunType<T>
{
public:
using type = T;
}
template<>
class FunType<int>
{
public:
using type = char;
}
template<>
class FunType<float>
{
public:
using type = double;
}
//函数调用
FunType<float>::type num = 3.14;
建议还是用struct, 可以少写一个public