new一个类对象和使用类名创建一个对象有什么区别?

用new来给一个类的对象分配空间,和使用类名称来定义一个类的对象,有什么区别?难道区别只是new的返回值是个指针,而对象定义得到的是变量名么?或者是在存储空间上不同?有什么不同呢?具体什么时候使用哪个方法呢?
偶义正言辞滴说:分数就是用来给的!

----------------------------------------------------------------------

对,存储空间上不同。
new出来的在堆上
直接定义的在栈上

--------------------------------------------------------

同意楼上的

具体什么时候使用哪个方法呢?:
当变量个数较少且数量确定时可以直接定义
当数量较多或变量个数不能确定时用new


--------------------------------------------------------

哦,看了这个我又多知道了一个东东哦!!谢谢拉!!
希望知道怎么用,期待中......

--------------------------------------------------------

用法似乎高手都喜欢用new,因为堆的内存大嘛,我喜欢用栈,方便点,不用指来指去,还要回收内存.栈在递归可能会遇到溢出,因为内存有限制.而且new出来的可以用很多动态重载的特性.

--------------------------------------------------------

栈上分配的在函数结束后会自己释放,堆上的要自己手工释放。

--------------------------------------------------------

举个例子:
如果你有一个对话框类CMyDlg;
你这样用:CMyDlg dlg;
          dlg.Create();
建一非模式对话框,函数一结束,dlg被收回了,这个对话框一闪而过。
这样用: CMyDlg *dlg=new CMyDlg;
         dlg->Create();
函数结束了,dlg还在。这个非模式对话框还在。

--------------------------------------------------------

一个在堆,一个在栈
栈就是CXXX XX这种的,是在程序运行前就分配好的,不需自已释放
而堆,是运行时分配的,得自已释放
还有就是对话框它们效果明显,一个无模式,一个有模式,做个例子就很清楚了!

--------------------------------------------------------

东西都被楼上的说完了

--------------------------------------------------------

用法似乎高手都喜欢用new,因为堆的内存大嘛,我喜欢用栈,方便点,不用指来指去,还要回收内存.栈在递归可能会遇到溢出,因为内存有限制.而且new出来的可以用很多动态重载的特性.
==========================================================
这个跟高手不高手没关系,而是要考虑实际情况

如果对象本身很小,或者没有特殊的必要,还是要放在栈上,这样有2个好处:

1 效率高

2 在堆上创建对象容易引起内存碎片

--------------------------------------------------------

赫赫,因为我看自己的程序基本都是在栈上分配,而看别的高手写的代码一用到变量就new,所以如此感叹.

--------------------------------------------------------

//
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值