如何访问模板类的成员

时间:2017-04-12 16:00:58

标签: c++ templates object member accessor

在C ++中,vector的工作方式是,如果我实例化一个Obj类型的向量,我可以通过指定元素来访问带有dot访问器的Obj的成员。我正在尝试使用模板<class T> struct执行相同的操作。

如何访问结构的Obj成员,例如template <class T> Struct包含vector<T>,实例化为Struct<Obj>

如果我走错了路,有什么选择?

1 个答案:

答案 0 :(得分:0)

所以看起来你有这个:

struct Obj
{
    int x_;
};

template <typename T>
struct Struct
{
    std::vector<T> items_;
};

所以要访问一个元素(假设你将它添加到向量中):

int main()
{
    Struct s;
    s.items_.resize(10);
    s.items_[0].x_ = 5; // Access the object memeber of element 0 in the vector.
}