c++ - 我如何理解 C++ 中是否删除了指针

标签 c++ pointers memory delete-operator

<分区>

当我写这样的代码时,它会打印“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/

相关文章:

c - 如何将 double 组传递给 C 中的函数?

c - 如何确定总内存分配?

C 共享内存数据库

c++ - 控制 Internet Explorer 以输入用户名/密码

c++ - 函数返回对 vector 元素的引用

C++ 错误 C2228

c++ - vc++2008 安装程序项目 msvcrt.dll

c - 分配结构指针数组

c# - 扫描 64 位内存?

java - 在内存中执行 jar/class 文件