C++创建与销毁对象

         C++将效率控制作为最重要的问题,为了最大化运行速度,通过将对象放在栈中或者静态存储区域中,存储和生命期可以在编写时确定。

         栈是内存中的一个区域,可以直接由微处理器在程序执行期间存放数据。在栈中的数据称为自动变量或者局部变量。

         静态存储区域简单来说是内存中的一个固定块,在程序开始执行以前分配。

         使用栈或静态存储区,可以快速分配和释放。但是牺牲了灵活性,必须在写程序的时候知道对象的准确数量、生命期和类型。

         在堆上动态创建对象,可以在运行的时候还不知道需要对象数目、生命期和准确数据类型。使用方法是直接使用new创建,释放时用delete。因为这种存储时动态管理的,所以在堆上分配存储的时间要比在栈上创建存储的时间要长得多。

          还有一个生命期的问题:如果在栈上或者在静态存储区上创建一个对象,编译器决定这个对象持续多少长时间并能自动摧毁它。然而在堆上创建对象,编译器不知道它的生命期,在C++中,程序员必须决定何时摧毁对象,然后用delete销毁对象。

         


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值