如何在不将 [][] 转换为 ** 的情况下分配给多维数组?我有一个下面的例子。我发现如何使用 new 在 C++ 中声明二维数组?但这使用了int**
then new int[][4]
。
#include<cassert>
int a[8][4];
int*b = &a[0][0];
int*c = &a[2][0];
int*d = &a[0][2];
int main() {
//shows right side is closer
assert(d-b==2);
assert(c-b==8);
auto aa = new int[][4];
//set the right side, but is a syntax error
//aa[][0] = new int[8];
//type error
aa[0] = new int[8];
}