我了解new[]
的用法是:new <type>[<size>]
。现在,假设我想分配一个矩阵,该矩阵具有在编译时已知的列数nCols
。就上述用法而言,type
为int[nCols]
。所以,我想写:
const int nCols = 5;
int nRows;
cin >> nRows;
int (*matrix)[nCols] = new (int[nCols]) [nRows];
为什么正确的书写方式实际上是new int[nRows][nCols]
?
为什么正确的书写方式实际上是新的
int[nRows][nCols]
?
应与普通的数组声明和数组索引保持一致。
除非您像这样分配它,否则不能使用单个const int*
语句分配2D数组: