C ++ typename为变量

时间:2011-07-25 05:08:45

标签: c++ variables types typename

假设我有一个模板类MyClass。 是否可以将模板的类型存储为类的变量?如果是这样的话?我很好奇是否可以做这样的事情。

Template <typename T> class MyClass;
Template <typename T> class AnotherClass;

MyClass<int> myClassInstance;
AnotherClass<oneInstance.functionThatReturnsTheStoredTypeFromAnInstanceVariableOfMyClass()> anotherClassInstance;

提前致谢。

1 个答案:

答案 0 :(得分:7)

它们可以是静态变量,可以嵌套typedef。

template<typename T> class MyClass {
public:
    typedef T type;
};
AnotherClass<MyClass<double>::type> anotherClassInstance;

但是,在C ++中访问像你发布的成员变量是不可能的。