C/C++ 中的内存泄漏是什么?


当程序员之前分配的一块内存未被程序员正确地释放时,就会发生内存泄漏。该内存将不再被程序使用。因此,该位置无缘无故被保留。这就是为什么这被称为内存泄漏。

对于内存泄漏,一些内存块可能会浪费。即使系统有足够的内存,这也会降低性能。

示例

void my_func() {
   int *data = new int;
   *data = 50;
}

此处的问题是 *数据指针从未被删除,因此内存被浪费了。

示例

#include <stdio.h>
main(void) {
   auto int my_fun();
   my_fun();
   printf("Main Function\n");
   int my_fun() {
      printf("my_fun function\n");
   }
   printf("Done");
}

输出

my_fun function
Main Function
Done

更新于: 2019 年 7 月 30 日

3 万 + 阅读

开启您的 职业生涯

通过完成课程获得认证

开始
广告