定義某些複雜類中聲明的變量類型的最方便和最清晰的方法是什麼?例如:使用類
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
,但也許它)
'auto var = ClassA :: A1;'? –
juanchopanza
可能與Boost中的['graph_traits'](http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/graph_traits.html)類似。 – gongzhitaao
如果嵌套類型被大量使用,爲什麼不把它提升到頂層? –