如何访问模板类的成员
问题描述:
在C++中,向量的工作原理是,如果我实例化一个类型为Obj的向量,我可以通过指定元素访问带有点存取器的Obj的成员。我试图用模板<class T> struct
做同样的事情。如何访问模板类的成员
如何访问结构的Obj成员,template <class T> Struct
包含vector<T>
例如,实例化为Struct<Obj>
。
如果我在错误的轨道上,有什么替代?
答
所以看起来你有这样的:
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.
}
实际,*真实*,类声明的' Struct','Obj'和任何包含所述相同的向量的东西,以及一个简单的访问者样本(你正在尝试(但未成功)的样本)会使问题变得清晰。 – WhozCraig