使用RAII机制管理内存

什么是RAII

RAII全称为resource acquisition is initialization,即资源获取即初始化。RAII指的是在构造函数里申请资源,在析构函数中释放资源。RAII的工作最早是交给程序员做的,很容易因为没有及时释放使用好的资源导致资源泄露。

管理内存使用和释放常见机制

现在主流编程语言主要采用如下几种机制:

  • 程序员自己采用RAII方式管理资源:程序员自己去保证资源的申请和释放,容易出错
  • 基于垃圾回收的内存管理:java&golang都采用这种方式,无需程序员去自己管理。优点是轻松,但是在性能苛刻的场景,这种自动管理显得不那么精细化。
  • 编程语言内置支持RAII: 像C++智能指针、rust中堆上分配的对象等都支持根据作用域来自动申请和释放资源。