c++使用了未初始化的局部变量怎么解决_C++编程知识快速复习(内存使用篇)(精华高效全面版)...

c8593a25329a1c16c0179dffa42d7f09.png

总第004篇

接上篇,这篇主要归纳一下C++中的内存使用问题。

1、内存的分配方式

  • 从静态存储区分配。这种方式在程序编译的时候已经分配好,在程序的整个运行期间均存在,如全局变量、静态变量;
  • 从栈上创建。在执行函数时,函数内部局部变量的存储单元都可以在栈上创建,函数结束时这些单元被自动释放,栈内存分配运算内置于处理器指令集中,效率较高,但容量有限;
  • 从堆上分配。程序运用malloc或new申请任意多少的内存,用户手动用free或delete释放。动态内存的生存周期由我们决定,使用灵活,但也容易出问题。

2、常见的内存错误及处理方法

  • 内存未分配成功去使用它。故在malloc或new申请内存后,立即检查指使是否为NULL,防止使用指针为NULL的内存;
  • 内存分配成功但未初始化。故不要忘记为数组或动态内存赋初值,防止未被初始化的内存作为右值使用;
  • 分配成功也初始化但越界。故要注意不要让数组或指针下标越界;
  • 忘记释放内存,造成泄漏。故动态内存申请与释放必须要配对;
  • 释放了内存却继续使用它。这有三个方面:

首先,程序中对象调

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值