c++ - 尽快破坏事物是不是过早的优化?

标签 c++ memory-leaks

假设我有很多内存将在程序的某些点分配。关于内存泄漏的一大争论是,如果操作系统在进程执行结束时回收大量内存,那么占用大量内存是可以的。问题是,即使泄漏是良性的,它仍然会占用内存。我希望我的进程一次只“占用”大块内存。这就是我的意思:

{ // begin block
    int a[some_large_number];
    do_work_with_a();
} // destruct large allocation

{ // different block
    int a[some_large_number];
    do_work_with_a();
} // destruct large allocation

它真的有很大的不同吗?

最佳答案

你的例子无关紧要,那些变量在栈上,不需要释放。

此外,释放内存也不是优化,而是必须的。每次在堆上保留内存的调用都应小心处理并在使用后释放。

您可以阅读有关堆和堆栈的更多信息 here .

关于c++ - 尽快破坏事物是不是过早的优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26317302/

相关文章:

c++ - char字符串长度和内存泄漏

ios - 3D Peek and Pop 内存泄漏

c++ - 有什么方法可以确定 rgb 值数组的宽度和高度?

C++ 检测输入是 Int 还是 String

c++ - 无法在 Qt 中运行 freetype

C++ 程序使用的内存比系统上可用的内存多?

c++ - 这段代码会泄漏内存吗? (引用,新的,但没有删除)

c++ - Qt。集成 C++ 和 Qml

C++ 从进程中获取用户名

android - logcat 中的 GC_FOR_ALLOC 过多