内存分配
当使用 new
创建一个对象时:
operator new
分配所需的内存空间。这个步骤类似于 C 语言的malloc
,但它是为 C++ 类型的对象分配内存。- 构造函数(constructor)被调用以初始化对象。这里涉及到你的类定义的所有初始化和设置。
new
表达式的结果是一个指向新分配和构造的对象的指针。
当对象不再需要时,使用 delete
来释放其占用的资源:
- 首先,析构函数(destructor)被调用,以完成任何清理工作。根据你的代码,这可能包括释放动态分配的内存,关闭文件句柄,或者进行其他清理任务。
- 最后,
operator delete
被调用,来释放对象占用的内存。这个步骤等同于 C 语言的free
函数。