构造函数的必要条件:
- 这个函数的调用,是这个对象在作用域内的第一次成员函数调用,看this指针即可以区分对象,是哪个对象的this指针就是哪个对象的成员函数。
- 使用thiscall调用方式,使用ecx传递this指针;
- 返回值为this指针。
析构函数的必要条件:
- 这个函数的调用,是这个对象在作用域内的最后一次成员函数调用,看this指针即可以区分对象,是哪个对象的this指针就是哪个对象的成员函数;
- 使用thiscall调用方式,使用ecx传递this指针;
- 没有返回值
构造函数和析构函数的充分条件:
以上是原著总结出来的三个必要条件,要想充分断定是构造函数和析构函数,需的是充分条件:有虚表指针初始化的操作和写入虚表指针的操作。
至于构造函数和析构函数之间如何区分,见虚函数一文。
本章未读,本文未完待续。
本文为原著内容的总结,非我原创,仅做回顾巩固之所用。