考虑以下因素:
tbModelHFrame = new TbModelHeaderFrame(this, storage->getDataBase());
我想删除 tbModelHFrame 内存的正确方法是
delete tbModelHFrame;
对吧?
如何检查内存是否真的被释放了?
最佳答案
How do I check that the memory was really released?
你不知道。
C++ 无法判断指针是指向有效对象还是指向内存中的随机区域。后者包括一个在某个时候有效但此后已被删除的区域。
由开发人员以一种不会发生这种情况的方式组织他们的代码。
该语言为您提供帮助的唯一保证是 delete
调用永远不会失败。因此,如果您对该对象调用一次 delete
,您可以合理地确定该对象已正确销毁并释放了内存。只是不要在之后再次尝试访问它,否则你会遇到麻烦。
关于c++ - 删除指针内存并确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31268499/