我对 C 相当精通,在 C 中释放内存是必须的。
但是,我正在开始我的第一个 C++ 项目,我听说过一些关于如何通过使用共享指针和其他东西不需要释放内存的事情。
我应该在哪里阅读?这是对正确的 delete
C++ 功能的有值(value)的替代吗?它是如何工作的?
编辑
我很困惑,有些人说我应该使用 new
分配并使用 smart pointers 进行释放过程。
其他人说我一开始就不应该分配动态内存。
其他人说,如果我使用 new,我也必须像 C 一样使用 delete。
那么哪种方法被认为更标准并且更常用?
最佳答案
Where should I read about this?
Herb Sutter 的 Exceptional C++和 Scott Meyers 的 More Effective C++都是很好的书籍,详细介绍了该主题。
网络上也有很多讨论(谷歌或 StackOverflow 搜索“RAII”或“智能指针”无疑会产生很多好的结果)。
Is this a valuable replacement for proper
delete
C++ functionality?
当然。不用担心清理资源的能力,尤其是在抛出异常时,是使用 RAII 和智能指针最有值(value)的方面之一。
关于c++ - 启动 C++ 项目。我应该担心释放动态分配的内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723505/