C ++将多大小数组存储在变量中

C++ Store multi-sized arrays in a variable

我正在尝试在 C++ 中存储类似单元格的结构,其中它的元素可以具有不同长度的数组,如下例所示:

myMultiSizedArray = { 
      { 1, 2, 4 },
      { 3, 5, 6, 7 },
      { 7, 8, 9, 10 },
      { 1, 3 },
      { 4, 5, 8 },
      { 9, 10 } 
      { 5 } }

我正在考虑在 struct 中使用向量,如下所示:

struct f
{
    std::vector<int> elements;
};

std::vector<f> myMultiSizedArray;

如果社区能给我他们的反馈,我将不胜感激。有更好、更有效的方法吗? C++ 是否为此提供了一种方法?谢谢

正如其他用户在评论中提到的,您可以在另一个向量中使用一个向量,如下面的代码片段所示:


using namespace std;
vector<vector<int>> myMultiSizedArray;

myMultiSizedArray.push_back({ 1, 2, 3, 4 });
myMultiSizedArray.push_back({ 6, 5, 200, 3, 2, 1 });

使用"vector< vector< int > >"更好