new创建对象和直接声明创建对象
new创建对象和直接声明创建对象
有时候书看多了,遇到了以前没注意到的⼩细节就会犯迷糊,查了些资料⼤致弄明⽩了点关于 new对象和直接引⽤对象的区别。
众所周知,在C++⾥⾯可以new对象,也可以直接声明对象。
编译器把内存分为三个部分:奥迪跑车
1.静态存储区域:主要保存全局变量和静态变量。⽣存期:整个程序。
2.堆:存储动态⽣成的变量。⽣存期:⾃⼰来决定。
抚州采茶戏
禁用无线网络适配器3.栈:存储调⽤函数相关的变量和地址等。⽣存期:所处的语句块(既{}的范围)
假设定义⼀个类Myclass
(1)声明创建对象
我们要创建对象的时候就是直接  Myclass myclass;  这时在栈中已经为它分配了⼀个空间存放所有的成员变量,但是为了节约内存空间成员函数被存放在了⼀个公共区域,这个类的所有的对象都可以共同享
有。
调⽤这个对象的成员变量和成员函数时⽤“.”操作符。如:myclass.value,myclass.function()。
(2)new 对象著字组词
文件夹打不开⽤这种⽅法创建对象时我们采取这样的⽅法  Myclass *myclass = new Myclass();  通过new创建的实例返回的是对象指针(myclass指向⼀个Myclass的对象),同时在堆上为它分配空间,并且需要显式的释放空间, delete 对象的时候才会调⽤对象的析构函数。
因为是指针的操作,所以调⽤这个对象的成员变量和函数时要⽤“->” 例如 myclass.value ,myclss->function()。
湖南旅游景点排行
总结:
事实上两种⽅式效果相同,我们在选择⽤哪种⽅式的来创建的时候主要考虑的就是,你想让这个对象存活多久。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。