包含不同大小的向量的结构,cpp

时间:2015-10-30 15:12:50

标签: c++ struct

我希望声明一个结构,比如大小为n = 10,在结构的每个i站点都有一个向量。结构位置中的向量具有不同的大小。

在matlab中,它可以使用struct获得。如何在C ++中完成?

2 个答案:

答案 0 :(得分:3)

我认为你要找的是矢量的数组或矢量。

例如:

#include <array>
#include <vector>
#include <iostream>

int main ()
{
    std::array<std::vector<int>, 10> Vectors;

    for (auto &i : Vectors)    //Loop through all 10 vectors in Vectors
    {
        for (int j=0; j<5; j++) //Push 1, 2, 3, 4, and 5 into each vector
        {
            i.push_back(j);
        }
    }
    return 0;
}

答案 1 :(得分:0)

struct S {
    std::array<std::vector<int>, 10> data;
};

您也可以使用别名:

using arrayOfTenVectors = std::array<std::vector<int>, 10>;

当然int是一个占位符。您可以将结构或别名设为template,并在向量内部使用一些T