如果我有一个模板容器,我可以使用 atypedef
让我在编译时查找类型:
template <typename T>
struct MyList {
typedef T Type;
T get_front() const;
// ...
};
MyList<char> char_list;
MyList<char>::Type front = char_list.get_front();
在这种情况下,您可以char front = char_list.get_front();
改为声明,但有时这可能很有用(例如,包含其他模板类的模板类)。
在我的例子中,模板没有指定类型名,而是指定了一个 int (实际上是 a std::size_t
):
template <std::size_t N>
struct MyClass {
// ...
};
是否有一个等效的 typedef 可以在类中声明,这将允许我在类之外获取值 N?这是使用静态常量的合适位置吗?