<分区>
当我写这样的代码时,它会打印“not deleted”。我怎样才能 100% 确定指针是否被删除?
int* a = new int;
*a = 5;
delete a;
if (!a) //I also tried a == NULL but got same result
cout<<"deleted"<<endl;
else
cout<<"not deleted"<<endl;
<分区>
当我写这样的代码时,它会打印“not deleted”。我怎样才能 100% 确定指针是否被删除?
int* a = new int;
*a = 5;
delete a;
if (!a) //I also tried a == NULL but got same result
cout<<"deleted"<<endl;
else
cout<<"not deleted"<<endl;
最佳答案
你不能。确保在删除
指针时删除指针的所有拷贝,因为指针引用的内存位置稍后可能会被不同的数据重用。
关于c++ - 我如何理解 C++ 中是否删除了指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649931/