c++ - 程序退出后内存会释放给系统吗?

标签 c++

<分区>

我理解(可能是错误的)内存在应用程序退出时总是空闲的,那么在程序运行期间调用 delete 有什么意义呢?

例如,此示例代码不会删除指针:

int main()
{
    int p = new int;
    return 0;
}

一旦程序退出,指针“p”指向的内存是否会释放给系统?

最佳答案

是的,它会被操作系统删除。如果您想使用像 valgrind 这样的工具,这不是一个好主意,而且通常会有不好的代码味道。

关于c++ - 程序退出后内存会释放给系统吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48828793/

相关文章:

c++ - 如何初始化对象指针列表

c++ - 写入 TCP 套接字不完整 C++

c++ - 排序后如何保持 vector 中重复项的顺序?

c++ - 为什么 QGraphicsItem::scenePos() 不断返回 (0,0)

c++ - 为什么 std::to_string 的实现会创建一个 4 倍于类型大小的缓冲区?

C++ - Tesseract 令人失望的性能

c++ - `(c = *str) != 0` 是什么意思?

c++ - CRTP:将类型从派生类传递到基类

C++ 内存管理技术/实践

c++ - 递归函数,用于查找输入数组中的数字子集是否可以加起来达到给定的目标值