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

时间:2013-04-04 03:02:45

标签: c++ object pointers heap

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

2 个答案:

答案 0 :(得分:2)

  

c ++是否意识到他们没有针对他们的指针并释放内存?

C ++没有“意识到”任何这样的事情。没有内置的垃圾收集器。

如果您使用new分配内存并且未通过对delete的相应调用释放内存,则会导致内存泄漏。

答案 1 :(得分:0)

Cody是正确的,C ++没有垃圾收集器,所以当指向对象的指针丢失时你会发生内存泄漏。

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