
当程序员先前分配的一块内存时,就会发生内存泄漏。那么程序员就不能正确地释放它。该内存不再被程序使用。所以那个地方就被无缘无故地保留了。这就是为什么这被称为内存泄漏。
对于内存泄漏,某些内存块可能被浪费了。如果系统有足够的内存,在这种情况下这也可能会降低性能。
示例
void my_func() {
int *data = new int;
*data = 50;
}这里的问题是*数据指针永远不会被删除,因此内存被浪费。
示例
#includemain(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











