用过C++的都知道,申请对象在C++中有两种方式:
这两种方式有什么区别呢?这两种方式最重要的区别就是申请的内存空间不一样,第一种方式申请的内存空间是在栈上分配空间,第二种是在堆中分配空间。理解了这个,那么就知道了他们俩的区别了。栈是由程序自动回收,而堆是由程序员手动回收。在使用中什么时候该用哪种方式,就好把握了。
A a;
A *a = new A()
这两种方式有什么区别呢?这两种方式最重要的区别就是申请的内存空间不一样,第一种方式申请的内存空间是在栈上分配空间,第二种是在堆中分配空间。理解了这个,那么就知道了他们俩的区别了。栈是由程序自动回收,而堆是由程序员手动回收。在使用中什么时候该用哪种方式,就好把握了。