c++ - 除了使用 new 之外,还有什么会导致内存泄漏? (c++)

标签 c++ memory memory-management memory-leaks

<分区>

除了使用 new 关键字分配内存之外,还有什么会导致 C++ 中的内存泄漏?我有一个项目,整个项目似乎有几处内存泄漏,但我一次都没有使用过 new 关键字。另外,当我不小心让它运行了几个小时(4-6)时,我回来发现它也在慢慢吞噬 cpu 周期。.不确定这是否是内存泄漏的直接结果(通过这个点它几乎使用了我所有的可用内存)因为当再次启动程序时它不会明显发生,但内存泄漏是。 谢谢!

最佳答案

可以是各种东西

  • 一个不断增长的列表,比如添加到一个vector 并且从不删除
  • 忘记关闭打开的资源,如文件句柄、套接字等。
  • 第三方库中的内存泄漏
  • 循环引用,如果你是引用计数

关于c++ - 除了使用 new 之外,还有什么会导致内存泄漏? (c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41610039/

相关文章:

realloc() 可以扩展到(并覆盖)后续数据吗?

Swift 委托(delegate) - 何时在委托(delegate)上使用弱指针

自定义分配器 : Valgrind shows 7 allocs, 0 释放,无泄漏

c++ - 通过右值引用返回与通过值返回

c++ - 在新行上拆分字符

c++ - Delete[] 导致 C++ 崩溃

memory - iOS6 MKMapView 使用大量内存,导致应用程序崩溃,其他人注意到了吗?

c++ - 在 Linux/Ubuntu 中编译 openCV 应用程序时如何解决 undefined reference cv :. ...

c# - .NET 中 DataTable 或其他复杂对象的最大大小

c - 如何释放c中双向链表程序的内存