下面是我总结的可能会导致内存泄漏的操作,如有错误,欢迎指正
1.最常见的,在堆区使用new申请了空间但未释放掉。
2.野指针
我们在堆中申请了一块内存,但是没有去手动的释放内存,导致指针已经消失,而指针指向的东西还在,已经不能控制这块内存,所以就是内存泄漏了,
void fun(string &str)
{
string *p = new string(str);
//内存泄漏。
return;
}
建立了一个指针ps,这个指针是局部变量,放置在栈中,函数结束其生命周期结束,但是申请的内存没有被释放,造成内存泄漏。