它们是否成为内存泄漏,或者C++是否意识到它们没有针对它们的指针并释放内存?如果他们必须被删除,我只是使用删除命令吧?(C++)堆上没有指向它们的指针的对象会发生什么?
0
A
回答
2
C++意识到他们没有针对他们的指针并释放内存?
C++没有“意识到”任何这样的事情。没有内置垃圾回收器。
如果您使用new
分配内存并且没有通过相应的delete
调用释放内存,则说明存在内存泄漏。
+0
我明白了,谢谢。 – 2013-04-04 03:04:54
0
Cody是正确的,C++没有垃圾收集器,所以当指向对象的指针丢失时,你会有内存泄漏。
C++确实在std库中有一些东西来解决这个问题。如果对象不再有任何std::shared_ptr
指向它,则std::shared_ptr
将自动删除该对象。
相关问题
- 1. 指向另一个指针的指针 - 会发生什么?
- 2. ,对象和指向对象的指针有什么区别?
- 3. C++指向新类的类指针与指向类对象的指针之间有什么区别?
- 4. 为什么C++ new不返回指向它创建的对象的指针?
- 5. 指向对象开始的指针(C++)
- 6. 当我们将一个指针指向NULL时会发生什么?
- 7. 指向指针的指针与C中指针的地址有什么区别?
- 8. 什么是指向指针的指针?
- 9. 在Objective-c中,如果没有指针指向它们,autoReleased对象会被释放吗?
- 10. 查找指针会发生什么?
- 11. 为什么指向char的指针会产生警告?
- 12. 设置指向对象的指针,让对象指向对方
- 13. 在指向Objective-C对象的指针数组上的qsort
- 14. 创建指向没有新关键字的对象的指针
- 15. 为什么有人需要一个指向指针的指针?
- 16. 在指向对象的指针上调用delete []时发生BLOCK_TYPE_VALID错误
- 17. 指针不指向指针时发生指针崩溃
- 18. 获取双指针指向的对象
- 19. boost :: gil指向bgr8_view_t对象的指针
- 20. 指向对象类型的指针
- 21. 解引用指向对象的指针
- 22. 什么时候可以比较指向C++中相同对象的指针?
- 23. C++ - 指向数组的指针 - 指针
- 24. 指向C++指针的指针
- 25. 原始对象的C++指针和复制对象的指针
- 26. 指向派生类对象的基指针的值
- 27. C++ dynamic_cast基类指向派生类指针的指针
- 28. C++对象指针
- 29. 当std :: thread被销毁时,如果指针指向shared_ptr会发生什么?
- 30. C++ gmock - 将空指针传递给SaveArg时会发生什么
Nothing;他们坐在那里占据空间,永远不会被重用。这被称为内存泄漏,这是一个坏消息。 – 2013-04-04 03:04:19
按定义,这是内存泄漏。 – Pubby 2013-04-04 03:04:29
而在你意识到C++是这种困难的语言之前,你需要不断地注意释放你的记忆之前,你不会这样做。这就是为什么我们有[容器类](http://en.cppreference.com/w/cpp/container)和[智能指针](http://en.cppreference.com/w/cpp/memory),它允许在大多数用户代码中完全避免使用“delete”。 'new'也可以几乎完全避免,除了创建一个'unique_ptr'(对此正在进行补救) – 2013-04-04 03:17:28