自动内存管理:
系统在运行时遇到局部变量的定义则为此变量分配内存空间,在退出包含此变量定义的语句块时释放对应于此变量的内存空间。
注意:严禁使用指向被销毁对象的指针,同理,也不可使用被销毁对象的引用。
静态内存分配:
静态对象被分配且仅被分配一次内存空间,并且此对象的生存期与程序的运行期相同。
动态内存分配:
自行掌控对象的生成和销毁
T* ptr = new T;
为T类型的对象分配内存,并进行默认初始化,生成指向此无名对象的指针。
new T(initializer); //使用initilizer初始化新生成的对象
此对象会一直存在,直至程序结束(内存泄露!)或被主动销毁
delete ptr;
例:int* pointer_to_dynamic() { return new int(0); }
扩展: