看完this answer关于什么是内存泄漏,可以得出结论,如果对象在程序的所有运行期间都应该存在,并且是通过 new
创建的,则无需调用 delete
对象。
因此,例如,如果我有一些主窗口和一些其他窗口/小部件,我在主窗口构造函数中使用 new 创建,我不需要在析构函数中调用 delete,因为主窗口析构函数将在程序退出时被调用,所以它不是内存泄漏。
最佳答案
直到你的程序成为更大程序中的一个模块,例如一个 servlet,这时你就有了漏洞。
它还会掩盖您的代码审查和 valgrind 的使用。 valgrind 会认为这是一个泄漏,为什么每次您尝试在其他地方追踪泄漏时都必须记住“那个很好”?
关于c++ - 如果对象在程序的所有运行期间都应该存在,则不需要删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855977/