我需要一個固定寬度和高度的二維數組,只能改變存儲在其中的各個值。它在頭文件中聲明,並在源文件中初始化。如何初始化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
陣列,我不能初始化它們因爲它們是常量?
我不需要這個數組的不同類型嗎?我在考慮int d[][]
,但它沒有恆定的寬度和高度。
在我看來,似乎是一個悖論(如果它存在於C++世界中),我錯過了什麼?
2D陣列具有固定的寬度和高度將是'的INT A [10] [10]'。你正在創建指針數組。 – molbdnilo
這迫使我知道標題中的大小,但我還不知道。這就是爲什麼我想要int * const * const聲明。 –
還是有這樣的數組是一個壞主意?我可以從標題中刪除它,並有一個getter,但這不是一個矯枉過正的?即使這樣,是否不可能初始化這樣的數組?那他們爲什麼會存在? –