大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
简介:什么是内存泄漏?如何避免内存泄漏?
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了哈巴河免费建站欢迎大家使用!学习代码 静态分配内存学习代码
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元起,快前往官网查看详情吧