C ++ Хранить многомерные массивы в переменной - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь сохранить клеточную структуру в 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 ++ средство для этого? Спасибо

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

лучше использовать "vector >"

0 голосов
/ 10 сентября 2018

Как уже упоминалось другими пользователями в качестве комментария, вы можете использовать вектор внутри другого вектора, как показано в следующем фрагменте кода:


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

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