内存分配

当使用 new 创建一个对象时:

  1. operator new 分配所需的内存空间。这个步骤类似于 C 语言的 malloc ,但它是为 C++ 类型的对象分配内存。
  2. 构造函数(constructor)被调用以初始化对象。这里涉及到你的类定义的所有初始化和设置。
  3. new 表达式的结果是一个指向新分配和构造的对象的指针。

当对象不再需要时,使用 delete 来释放其占用的资源:

  1. 首先,析构函数(destructor)被调用,以完成任何清理工作。根据你的代码,这可能包括释放动态分配的内存,关闭文件句柄,或者进行其他清理任务。
  2. 最后,operator delete 被调用,来释放对象占用的内存。这个步骤等同于 C 语言的 free 函数。