定义一些复杂类中声明的类型变量的最方便,最明确的方法是什么。例如:
template<class T1, class T2>
class ClassA
{
enum ENUM_A { A1, A2 };
//constructor
ClassA(const ENUM_A& x);
}
然后当你想在其他地方使用这个对象时,你必须编写长类型定义,如:
ClassA<ClassT1, ClassT2>::ENUM_A var = ClassA<ClassT1, ClassT2>::A1;
ClassA<ClassT1, ClassT2> obj(var);
有没有安全便捷的方法来避免这么长的声明? (我考虑过typedef
,但也许就是这样)
答案 0 :(得分:1)
已将解决方案命名为:typedef
(或using
)和auto
以完全跳过命名类型。