Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 动态二维数组的安全删除_C++_Pointers - Fatal编程技术网

C++ 动态二维数组的安全删除

C++ 动态二维数组的安全删除,c++,pointers,C++,Pointers,如果我的代码如下所示,如何使用delete确保安全删除所有动态分配的数据 float** test; test = new float*[3]; for(int i=0;i<3;i++) test[i] = new float[2]; 与您分配它的方式相同: for( in i = 0l i < 3; i++ ) delete[] test[i]; delete[] test; 与您分配它的方式相同: for( in i = 0l i < 3; i++ )

如果我的代码如下所示,如何使用delete确保安全删除所有动态分配的数据

float** test;
test = new float*[3];
for(int i=0;i<3;i++)
    test[i] = new float[2];

与您分配它的方式相同:

for( in i = 0l i < 3; i++ )
    delete[] test[i];
delete[] test;

与您分配它的方式相同:

for( in i = 0l i < 3; i++ )
    delete[] test[i];
delete[] test;
只要把它倒过来:

for(int i=0;i<3;i++)
    delete[] test[i];

delete[] test;
只要把它倒过来:

for(int i=0;i<3;i++)
    delete[] test[i];

delete[] test;

黄金法则-对于每个新的[],您都需要删除[]。因此:


与new/new[]相同,但顺序相反。

黄金法则-对于每个new/new[],您都需要删除/删除[]。因此:


与new/new[]相同,但顺序相反。

对于每个新的用法删除,对于每个新的[]使用delete[]。但是,请参阅std::vector。是否确保安全删除所有动态分配的数据?这样地?对于每个新的使用删除,对于每个新的[]使用删除[]。但是,请参阅std::vector。是否确保安全删除所有动态分配的数据?这样地?这不会在i=0L中编译这不会在i=0L中编译这不会在i=0L中编译这只是两个打字错误l=;'错过了“t”[@OlafDietsche]这不会在i=0lThanks中编译,只有两个输入错误…'l=;'错过了“t”[@OlafDietsche]