C中的内存泄漏(通过新删除)

为了使应用程序没有内存泄漏,C项目中的new数量是否与删除数量相匹配?

解决方法

如果你的意思是你在源代码中需要与拥有new的实例相同数量删除实例,那么没有.您可以在多个位置创建对象,但所有这些对象都由同一行代码删除.实际上这是一个常见的习语.

具有不同类型的智能指针通常在用户代码中的许多地方使用许多不同的对象,并将它们从库代码中的单个位置删除.

编辑

从技术上讲,每个成功的内存分配调用都需要与从原始分配调用获取返回指针的dellocation调用匹配.

大多数新表达式导致调用new new,分配内存并在新分配的内存中构造一个对象.使用删除表达式会破坏对象并导致调用运算符删除,该操作将释放已分配的内存.

有一些新的表达式可以在预先分配的内存中构造对象(placement new).这些不应与删除表达式匹配,但可能需要以与原始分配对应的方式释放预分配的内存.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...