课程
/后端开发
/C++
/C++远征之封装篇(上)
堆实例对象和栈实例对象有什么区别呢?哪一个更常用呢?
2015-12-30
源自:C++远征之封装篇(上) 2-2
正在回答
说的也不一定对,是自己的理解。
其实除了楼上说的这个语法上的不同。
感觉还有一个生命周期的问题吧。
我们曾经学过用new在一个其他函数中返回一个新的动态数组,而用栈申请的数组就会在函数结束被删除掉。
感觉这两种实例化方法可能也是这样吧。
栈实例化:生命周期为所在的函数结束前。
堆实例化:生命周期为delete释放前或程序结束后。
栈实例对象:直接类名加对象名,用完可以不自己释放空间
堆实例对象:需要用指针来指向申请的空间,用完需要用delete释放空间
举报
封装--面向对象的基石,本教程力求帮助小伙伴们即学即会