【问题标题】:How to access members of a template class [closed]如何访问模板类的成员 [关闭]
【发布时间】:2017-09-08 12:34:17
【问题描述】:

在 C++ 中,vector 的工作原理是,如果我实例化一个 Obj 类型的 vector,我可以通过指定元素来使用点访问器访问 Obj 的成员。我正在尝试使用模板 <class T> struct 做同样的事情。

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

如果我走错了路,还有什么办法?

【问题讨论】:

  • 实际的,realStructObj 的类声明,以及包含相同向量的任何内容,以及您的简单访问器示例重新尝试(但未成功)这样做会奇迹使这个问题变得清晰。

标签: c++ templates object member accessor


【解决方案1】:

所以看起来你有这个:

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.
}

【讨论】:

    猜你喜欢
    • 2010-12-08
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    相关资源
    最近更新 更多