【发布时间】:2014-11-23 04:09:13
【问题描述】:
这可能是一个有点愚蠢的问题——我应该在程序结束时在巨大的地图/集合上调用delete 吗?
假设所有程序都需要 map/set(delete 是返回前的最后一行)并且它的大小非常大(> 4GB)。 delete 调用需要很长时间,从我的角度来看没有任何价值(内存不能尽快释放),我错了吗?如果有,为什么?
【问题讨论】:
-
恕我直言,总是
delete你new。仅仅因为某些东西现在在程序的末尾并不意味着它总是会如此。而后来添加代码的人现在正在泄漏内存并且没有意识到这一点。 -
@Cyber 你能把你的评论格式化成答案吗?最好的论点/资源,以赋予它最大的价值。谢谢
-
我确定的是指针和动态内存分配应该由你释放。换句话说,每个 malloc 在使用后都应该被释放。
标签: c++ memory-management