知道课外的模板类型

时间:2016-01-21 07:51:32

标签: c++ templates

为了说清楚,我想模仿value_type std::vector成员的行为。

例如:

template <class T>
class foo{
    //some declaration and definition for value_type
};

int main(){
    foo<int> bar;
    bar::value_type x=5; //x is int
}

我该如何实施?

2 个答案:

答案 0 :(得分:6)

尝试:

template <class T>
class foo {
public:
    typedef T value_type;
};

BTW:bar::value_type无效,您应该将其用作:

foo<int>::value_type x = 5; //x is int

答案 1 :(得分:5)

template <class T>
class foo{
    using value_type = T;
};