请问一下 CPoint ptX; 和 CPoint ptX = new CPoint();两者的区别是什么?
參考答案:CPoint ptX = new CPoint();
----不能这样写,
应该是:CPoint *ptX = new CPoint();
两者的区别是:前者是在栈内存(即函数局部)中分配空间。当函数结束,内存也被释放了,即对象不存在了。
后者在堆内存中分配空间。当函数结束的时候,内存不释放,需要自己使用:
delete ptX来释放空间
笑话军事旅游美容女性百态母婴家电游戏互联网财经美女干货家饰健康探索资源娱乐学院 数码美食景区养生手机购车首饰美妆装修情感篇厨房科普动物植物编程百科知道汽车珠宝 健康评测品位娱乐居家情感星座服饰美体奢侈品美容达人亲子图库折扣生活美食花嫁风景 | 首页 |
请问一下 CPoint ptX; 和 CPoint ptX = new CPoint();两者的区别是什么?
參考答案:CPoint ptX = new CPoint();
----不能这样写,
应该是:CPoint *ptX = new CPoint();
两者的区别是:前者是在栈内存(即函数局部)中分配空间。当函数结束,内存也被释放了,即对象不存在了。
后者在堆内存中分配空间。当函数结束的时候,内存不释放,需要自己使用:
delete ptX来释放空间