为什么要使用动态存储空间?

1. c++中内存分为两个部分

  • :函数内部声明的所有 变量 都在 栈内存 中。
  • :程序中 未使用 的内存,在程序 运行时 用于 动态分配内存

2. 为什么要使用动态分配内存

  • 以实例化一个类为例:
//第1种:直接定义法 ----->直接将a放入栈区(局部变量,大小受限,自动释放)
A a;
//第2种:动态内存分配法-----> 堆区分配一块内存,用指针a去指向这块内存。(动态内存,大小任意,手动释放)
A* a;
a = new A();

3. 动态分配内存的好处

  1. 动态申请空间,能动态确定对象所需要的内存。

想吃盐多少就去买多少

  1. 对于大型对象的存储,栈区容不下。

我有好多盐,都放家中太占地方。可以放仓库中,记住 仓库地址 就行。

  1. 传递指针比传递整个对象更高效。

我卖盐,告诉别人我仓库地址,不用把整个仓库搬过去。

总结

  • new关键字用来进行 动态存储分配运行时储存分配 。值是一个 指针(门牌号)。指向所分配的 地址空间的首地址(房间号)。

  • 示例:给一个整数分配存储空间。

    // 1.声明整型指针变量       ---做门牌号
    int* y;
    // 2.动态分配存储空间       ---贴门牌号
    y = new int;
    // 3.为 *y 赋值           ---住客人
    *y = 10 ;
    
    //三步一起走
    int* y = new int(10);
    
    • y 是对整数指针的引用。
    • *y 是对整数本身的引用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值