什么是内存泄漏?如何避免内存泄漏?-创新互联

什么是内存泄漏?如何避免内存泄漏?

简介:什么是内存泄漏?如何避免内存泄漏?

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了哈巴河免费建站欢迎大家使用!学习代码 静态分配内存

学习代码

void func()
{int a = 100;
	int *p = &a;
}

在上面的这段代码中,不是动态分配内存,当函数运行结束的时候,指针p的内存就释放了,不会出现内存泄漏问题。

动态分配内存

学习代码

void func()
{// 动态生成内存 但是这里没有释放,所以会出现内存泄漏问题
	int *p = new int;	
}

改进方法

void func()
{// 动态生成内存 但是这里没有释放,所以会出现内存泄漏问题
	int *p = new int;	
	delete p; // 手动释放内存
}

如何删除动态分配的数组

void func()
{int *p = new int [100];
	delete [] p;
}
总结

动态分配内存是存储到堆上面的,需要手动去释放这个分配的空间,调用函数,静态分配内存就是存储到栈上面,会随着程序运行的结束自动释放。

后面为了更好的使用指针,c++推出来了智能指针,可以参考我的这些文章理解。
C++智能指针shared_ptr

C++智能指针unique_ptr

C++智能指针weak_ptr

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻标题:什么是内存泄漏?如何避免内存泄漏?-创新互联
分享地址:http://pwwzsj.com/article/depcoi.html