如何访问和存储向量类型的结构成员?

Posted

技术标签:

【中文标题】如何访问和存储向量类型的结构成员?【英文标题】:How to access and store struct members of vector type? 【发布时间】:2018-03-16 13:43:57 【问题描述】:

我在一个公共模块(类)中有一个函数,它采用向量类型的结构引用: 该结构有一个向量类型的元素。

请参考以下代码sn-p:

bool getFrameInfo(ABC& abc);

struct ABC 
    int numberOfFrames;
    std::vector<XYZ> framInfo;
    ....
    

    struct XYZ 
    int size;
    Position Pos;
    ...
    

我需要访问和存储 struct XYZ 的成员在我的类中的成员变量或局部变量中,它调用公共模块中定义的函数来获取框架信息。 请提出访问和存储“XYZ”结构成员的方法,以便我可以在我的程序中重复使用它们来绘制框架。

【问题讨论】:

【参考方案1】:

例子:

bool getFrameInfo(ABC& abc) 
    abc.framInfo[0].size = 10;
    // more code, where you return something somewhere

这将从abc 访问你的向量,然后索引它的第一个元素(我假设它存在),并访问你的向量第一个结构的size 字段。它在其size 中存储了 10 个。

【讨论】:

我的 struct XYZ 可以存储超过 1 帧的信息。我可以使用简单的 for 循环访问元素还是需要使用迭代器? 你可以使用@user660760。 你需要从函数中返回一些东西。

以上是关于如何访问和存储向量类型的结构成员?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中访问向量中的子实例

如何允许访问向量是类成员的向量元素?

保持类的向量成员与类实例连续

如何访问 std::vector 类型的成员

无法访问类的向量成员

c++ 内存分配向量的指针