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

当程序员先前分配的一块内存发生内存泄漏。这样程序员就不能正确地释放它。该程序不再使用该内存。因此,毫无保留地保留了该位置。这就是为什么这被称为内存泄漏。

对于内存泄漏,可能浪费了一些内存。如果系统具有足够的内存,在这种情况下也可能会降低性能。

示例

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

这里的问题是* data指针永远不会删除,因此会浪费内存。

示例

#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