如何删除二维数组?

use*_*183 1 c++ pointers memory-management

如何删除此分配的指针?

int (*foo)[4] = new int[100][4];
Run Code Online (Sandbox Code Playgroud)

只是:

delete[] foo;
Run Code Online (Sandbox Code Playgroud)

Vla*_*cow 5

分配数组后,必须使用运算符delete []

delete []foo;
Run Code Online (Sandbox Code Playgroud)

显然,您可以通过以下方式重写代码段

typedef int T[4];

T *foo = new T[100];

delete []foo;
Run Code Online (Sandbox Code Playgroud)