包含另一个向量的结构的向量

Vector of structs which contains another vector

本文关键字:向量 结构 另一个 包含      更新时间:2023-10-16

我需要动态分配structs的空间,而这些structs必须包含另一个动态分配的structs。如果我通过手动分配来完成,那将是很费力的。

所以我想通过矢量来实现:

using namespace std;
struct lol{
    int value;
    vector<int> vekt;
};
vector<lol> vektt;

从逻辑上讲,我会像上面的代码一样做,但我不知道如何做我的程序需要的两件事:

1.对两者进行迭代,得到value

2.将某个东西推入vekt(结构的向量);

我试过这样的推送方式,但不起作用:

vektt[0] . vekt . push_back( 2 );

所以我需要知道如何遍历这两个向量,以及如何访问向量vect的成员和方法。

// Iterating
for (auto &i: vektt)                 // or const auto &i according to requirements
{
    cout << i.value << ", ";
    for (auto j: i.vekt) cout << j << ' ';
    cout << 'n';
}
// Inserting int to vekt of i-th element of vektt
int a;
vektt[i].vekt.push_back(a);