我需要一个固定宽度和高度的二维数组,只能改变存储在其中的各个值。它在头文件中声明,并在源文件中初始化。如何初始化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,但这不是一个矫枉过正的?即使这样,是否不可能初始化这样的数组?那他们为什么会存在? –