为了账号安全,请及时绑定邮箱和手机立即绑定

用实例化访问对象和指针访问对象有啥区别?

?????????

正在回答

5 回答

你 往后面学 会介绍到   堆内存 需要你用delete  来施放 不然会内存泄漏 栈内存  系统自己会施放

1 回复 有任何疑惑可以回复我~
#1

moonstar 提问者

非常感谢!好像好高级的样子
2015-12-04 回复 有任何疑惑可以回复我~

对象生命历程,申请内存-初始化列表-构造函数-参与运算-析构函数-释放内存

0 回复 有任何疑惑可以回复我~

实例化也分,栈和堆,在C++中类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* p=new A(),A*p=(A*)malloc();静态建立一个类对象,是由编译器为对象在栈空间中分配内存,通过直接移动栈顶指针挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。动态建立类对象,是使用new运算符将对象建立在堆空间中,在栈中只保留了指向该对象的指针。栈是由编译器自动分配释放 ,存放函数的参数值,局部变量的值,对象的引用地址等。其操作方式类似于数据结构中的栈,通常都是被调用时处于存储空间中,调用完毕立即释放。堆中通常保存程序运行时动态创建的对象,C++堆中存放的对象需要由程序员分配释放,它存在程序运行的整个生命期,直到程序结束由OS释放。

0 回复 有任何疑惑可以回复我~

额 我 比如说一个类是 XXX   你  XXX  a=new  XXX   要用delete   你直接XXX  a;就不用delete  new  是实例化- -

0 回复 有任何疑惑可以回复我~

一个是 (new )放入堆内存 一个是放入 (实例化)——栈内存

0 回复 有任何疑惑可以回复我~
#1

moonstar 提问者

堆内存?栈内存?
2015-12-04 回复 有任何疑惑可以回复我~
#2

moonstar 提问者

不对啊,new就是实例化哇
2015-12-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之继承篇
  • 参与学习       75203    人
  • 解答问题       249    个

继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面

进入课程

用实例化访问对象和指针访问对象有啥区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信