c++ - 在 C++ 中,我是否需要在关闭程序之前释放内存

标签 c++

<分区>

Possible Duplicate:
Is it acceptable not to deallocate memory

这是一个普遍的问题。我有一些使用某些全局数据结构的 C++ 桌面项目。我的问题是,在我退出应用程序之前,我是否需要为这些数据结构释放内存?无论如何,应用程序关闭后,内存将被操作系统销毁。

最佳答案

简短的回答:不。(如果你足够迂腐(这是一件好事)......见编辑)

当程序退出时,操作系统会自动释放程序分配的所有内存。

但是,养成自己清理的习惯是个好习惯,所以在有必要时不要忘记这样做。

编辑:根据@David Thornley 对该问题的评论,并非所有操作系统都以这种方式运行。我没有理由不相信这一点,但我确实相信您可能遇到的任何消费者操作系统都会如此。但是,永远不要依赖非标准功能始终是最佳做法,无论多么常见,除非您有特定的理由这样做。

关于c++ - 在 C++ 中,我是否需要在关闭程序之前释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446428/

相关文章:

c++ - 使用裸指针而不是 weak_ptr 有什么好处吗?

c++多个智能指针分配导致崩溃

c++ - SetLayeredWindowAttributes 使窗口透明仅在部分时间有效

c++ - 基于 C++ 中的值从 HashTable 中删除而不使用 STL

c++ - 在 C++ 中使用 GDI+ 平滑动画

c# - cmake build x64 使用安装的任何 visual studio 版本

c++ - 使用 constexpr-if 时出错 : expected '(' before 'constexpr'

c++ - 我无法将 KAction 连接到 KMainWindow 上的插槽

c++ - 为什么我的GPU程序可以执行,虽然 block 数超过驻留 block 数?

python - C++ 的 SWIG 包装问题 --> python