所以我想说我有这样的结构:
struct example_structure
{
int thing_one;
int thing_two;
};
我还有一个空数组,我试图填充这些结构。我试图按如下方式添加它们,但它似乎不起作用:
array[i].thing_one = x;
array[i].thing_two = y;
有没有办法声明一个类型为example_structure的变量,然后将其添加到数组?
答案 0 :(得分:4)
使用矢量。他们可以根据需要进行扩展。
#include <iostream>
#include <vector>
int main()
{
struct example_structure
{
int thing_one;
int thing_two;
};
std::vector<example_structure> data;
for (int i = 0; i < 3; i++)
{
data.push_back({i, i * 2});
}
for (const auto& x : data)
{
std::cout << x.thing_one << " " << x.thing_two << "\n";
}
}
答案 1 :(得分:1)
你可以写简单
array[i] = { x, y };
或者您可以拥有结构类型的单独变量。例如
struct example_structure obj = { x, y };
array[i] = obj;