(C++) 堆上没有任何指针的对象会发生什么情况?

(c++) what happens to objects on the heap that don't have any pointers to them?

本文关键字:对象 什么情况 指针 任何 C++      更新时间:2023-10-16

它们会成为内存泄漏还是c++意识到它们没有指针指向它们并释放内存?如果它们必须被删除,我只需使用delete命令,对吗?

c++意识到它们没有指针指向它们并释放内存吗?

c++没有"实现"任何这样的事情。没有内置垃圾回收器

如果您使用new分配内存,而不通过对delete的相应调用来释放内存,则会发生内存泄漏。

Cody是正确的,c++没有垃圾收集器,所以当指向对象的指针丢失时,您将有内存泄漏。

c++在std库中确实有一些东西来解决这个问题。如果该对象不再有任何std::shared_ptr指向它,则std::shared_ptr将自动删除该对象。