本文将针对C++中动态内存管理的方式进行总结
首先说明一点,动态内存管理在堆上进行,其生存周期为分配内存至手动释放内存的时间段,我们应当尽量避免手动进行内存管理。
C++动态内存管理的方式
new and delete
new/delete的基本用法
1 | int size = 5; |
new /delete底层实现
1 | // 全局 operator new |
malloc and free
传统的C语言式内存管理,不建议在C++中使用,使用方式如下:
1 | char *str; |
两者比较
在C++中,如果不是必须,那么尽可能使用new和delete,因为new、delete可以确保对象的构造函数和析构函数被调用,是类型安全的。