释放记忆:A**mat = new A*[2];

Alo*_*iel 5 c++ pointers delete-operator

我定义了:

A** mat = new A*[2];
Run Code Online (Sandbox Code Playgroud)

但我怎么能删除它?用delete[] mat;delete[] *mat;

das*_*ght 7

这是delete[] mat;当你不做额外拨款只.但是,如果您在数组数组中分配了数组,则还需要删除它们:

A** mat = new A*[2];
for (int i = 0 ; i != 2 ; i++) {
    mat[i] = new A[5*(i+3)];
}
...
for (int i = 0 ; i != 2 ; i++) {
    delete[] mat[i];
}
delete[] mat;
Run Code Online (Sandbox Code Playgroud)