将结构添加到数组中

时间:2015-03-30 18:12:36

标签: c++ arrays struct

所以我想说我有这样的结构:

struct example_structure 
{
int thing_one;
int thing_two;
};

我还有一个空数组,我试图填充这些结构。我试图按如下方式添加它们,但它似乎不起作用:

array[i].thing_one = x;
array[i].thing_two = y;

有没有办法声明一个类型为example_structure的变量,然后将其添加到数组?

2 个答案:

答案 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";
    }
}

实例: http://ideone.com/k56tcQ

答案 1 :(得分:1)

你可以写简单

array[i] = { x, y };

或者您可以拥有结构类型的单独变量。例如

struct example_structure obj = { x, y };
array[i] = obj;