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
广告