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
在对象上调用一次,则可以合理地确定对象已正确销毁并且内存已释放.只是不要试图再次访问它,否则你将遇到麻烦.