删除指针内存并确认

KcF*_*nMi 2 c++ qt pointers memory-management

考虑以下因素:

tbModelHFrame = new TbModelHeaderFrame(this, storage->getDataBase());
Run Code Online (Sandbox Code Playgroud)

我想删除tbModelHFrame内存的正确方法是

delete tbModelHFrame;
Run Code Online (Sandbox Code Playgroud)

对?

如何检查内存是否真正发布?

Com*_*sMS 10

如何检查内存是否真正发布?

你没有.

C++无法判断指针是指向有效对象还是内存中的随机区域.后者包括一个在某些时候有效的区域,但从那时起就被删除了.

开发人员需要以不会发生这种情况的方式组织他们的代码.

这种语言可以帮助你解决问题的唯一保证就是delete呼叫永远不会失败.因此,如果您delete在对象上调用一次,则可以合理地确定对象已正确销毁并且内存已释放.只是不要试图再次访问它,否则你将遇到麻烦.