Трёхмерный массив с разными размерами внутренних массивов?
Всем привет
Нужно поместить несколько двумерных массивов разных размеров в один трёхмерный
Пример, a[5][6], b[3][7], c[7][2] и из них как-то сделать трёхмерный или что-то другое, но так чтобы я мог обращаться к ним всем как к отдельным элементам одного массива или другой структуры данных.
Есть ли какой-то способ так объединять массивы?
Спасибо
Используйте vector<vector<vector<int>>>> - каждая строка/столбец могут быть любого нужного вам размера.
Еще можно хранить ваши массивы как указатели в одном массиве указателей. Ведь эти сишные массивы - это по сути и есть указатели на начало. Вот только в таком виде вам придется как-то где-то помнить их размеры и вручную высчитывать индексацию в виде a[i*6+j], b[i*7+j].
В случае массива указателей вполне работает двойная индексация [i][j], но размеры, конечно, придется контролировать самому.
В целом использовать вложенные вектора проще и в духе С++.