【发布时间】:2011-02-19 10:36:20
【问题描述】:
隐式析构函数不会处理哪些潜在的内存泄漏?我知道如果你有任何东西存储在堆上,它不会处理它,如果你有一个文件或数据库的连接,那需要手动处理。还有别的事吗?比如说,像向量这样的非基本数据类型呢?
另外,在显式析构函数中,您是否需要销毁本来会被隐式析构函数销毁的非堆变量,或者它们是自动处理的?
谢谢
【问题讨论】:
-
在良好的 C++ 代码中,文件和 DB-Connections 应该使用 RAII,并且不需要任何手动关闭。
-
@pmr:如果不是“连接”对象的析构函数,那么谁来关闭数据库连接?
标签: c++ memory-leaks destructor