-
直接创建:
如:MyClass class_name;
在栈区直接创建一个对象。超出作用域后自动析构,即程序会自动调用析构函数。 -
使用new:
如:MyClass *class_name = new MyClass();
在堆区创建对象。超出作用域后不会自动析构,即程序不会自动调用析构函数。
以上两种方式可用来区分堆区和栈区的特点。
直接创建:
如:MyClass class_name;
在栈区直接创建一个对象。超出作用域后自动析构,即程序会自动调用析构函数。
使用new:
如:MyClass *class_name = new MyClass();
在堆区创建对象。超出作用域后不会自动析构,即程序不会自动调用析构函数。
以上两种方式可用来区分堆区和栈区的特点。