Мне нужен 2-й массив с фиксированной шириной и высотой, который может изменять только отдельные значения, хранящиеся в нем. Он объявляется в заголовке и позже инициализируется в исходном файле.Как инициализировать int * const * const?
Что я нашел, заставил меня попробовать следующие фрагменты; к сожалению, вопросы касались либо 1d, либо неконстантных массивов и не соответствовали моей ситуации.
int *const *const a = new int[10][10];
int *const *const b = new int[10][10]();
int *const *const c = new int*[10];
for (int i = 0; i < 10; ++i) {
c[i] = new int[10];
}
Моя надежда была в последнем примере, но как я могу использовать «внутренние» массивы c
если они не инициализированы, и я не смог инициализировать их, так как они Const?
Мне не нужен другой тип для этого массива? Я думал о int d[][]
, но он не имеет постоянной ширины и высоты.
Мне кажется, что парадокс (если он существует в мире C++), я что-то упускаю?
2D-массив с фиксированной шириной и высотой будет 'Int А [10] [10]'. Вы создаете массивы указателей. – molbdnilo
Это заставляет меня знать размер в заголовке, о котором я еще не знаю. Вот почему я хотел объявить int * const * const. –
Или это плохая идея иметь такие массивы?Я мог бы удалить его из заголовка и получить геттер, но разве это не избыток? Даже в этом случае невозможно инициализировать такие массивы? Тогда зачем они существуют? –