如何巧妙运用[C]模板结构,打造?

摘要:1.简单说明 struct + template的组合可以让我们使用同一个结构体名称(注意:只是名称相同,但是本质上已经不同了),实现不同的结构体功能,可以将其理解为设计模式中的工程模式。 2.代码示例 首先,声明一个枚举
1.简单说明   struct + template的组合可以让我们使用同一个结构体名称(注意:只是名称相同,但是本质上已经不同了),实现不同的结构体功能,可以将其理解为设计模式中的工程模式。 2.代码示例   首先,声明一个枚举类型,用于区别结构体,然后使用template+struct,声明一个结构体,只声明不实现 //为了方便讲解我使用枚举类型 //简单定义一个枚举类型 enum type { one, two, three }; //使用template+struct 声明一个结构体 //注意只声明,不具体写实现,没有大括号 template<type tp> struct typeStruct;   然后,实现两个不同的结构体 template<> struct typeStruct<type::one> { bool a; }; template<> struct typeStruct<type::two> { int a; };   最后,实例化结构体 //声明一个 one 类型的 typeStruct<type::one> one; //声明一个 two 类型的 typeStruct<type::two> two; //随便写的 two.a = one.a;