//the setup
tiles = new Tile **[num_bands];
for( int i = 0 ; i < num_bands ; i++ )
tiles[i] = new Tile *[num_spokes];
for(int i=0; i < num_bands; i++){
for(int ii=0; ii < num_spokes; ii++){
tiles[i][ii] = 0;
}
}
//the problem
delete tiles[1][1];
当我删除一个 tile 时,tiles[1][1] 仍然保存着一个地址。我认为它应该是一个空指针或 0x0,但它不是。我删除这个错了吗?
最佳答案
delete
不应该使指针为空;如果您愿意,这是您自己的责任。
基本上,delete
只是意味着“我不再需要这个地址的内存,所以你可以用它做别的事情。” - 它没有说明指向释放地址的值指针将具有什么。
关于c++ - 删除数组中指针的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3182316/