我将如何动态分配多维数组?

最佳答案

如果您已经知道嵌套维的大小,则还可以使用new从字面上分配多维数组:

typedef int dimensions[3][4];

dimensions * dim = new dimensions[10];
dim[/* from 0 to 9 */][/* from 0 to 2 */][/* from 0 to 3 */] = 42;
delete [] dim;

代替10,可以传递运行时确定的值。由于它不是类型运算符new的一部分,因此允许。例如,如果您知道列数,但是希望将行数保持可变,则这很好。使用typedef可以更轻松地读取代码。

关于c++ - 堆上的C++多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/340943/

10-12 01:34