什么时候用new创建对象,什么时候用一般声明的形式

【jixingzhong】:
事实上 没有绝对的分界线 ~~

你可以 new ,
也可以 局部定义 ~~

只要注意一下对象的生命期就可以了

【jixingzhong】:
在一些情况下,
new 具有优势,
比如 new 得到的对象在 堆空间,
在 堆 上可以存放比较多的内容 ~~

直接定义对象是在 栈 上,
可能空间不足,
但是栈上对象的操作过程会更迅速 ~~

【owlling】:
这个问题光有语言的知识是很难理解的,这样说吧。程序在内存里运行有个单位,这个单位叫做进程,进程呢,有三个部分,分别叫做静态储存区,栈,堆。
静态储存区呢,主要放的是全局变量和静态变量(还包括字符串常量等等)。他们的生存期是涵盖整个程序的
栈呢,放的是局部变量,他的生存期就是他所处的语句块(也就是离他最近的一对{}),离开了他的生存期他就失效了,你所谓的一般声明形式就是这种情况
最后,由于栈的空间是非常有限的,又是完全归系统管理的,所以当不够大,或者需要自己管理内存的时候。你就得使用堆上的空间所以你要用new申请,用delete或者delete[]归还,在进程的范围内,该内存的生存期就完全由你操作了;

==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值