C++ 构造函数追踪
实验环境:Windows 10 + VS 2013
首先创建一个只有数据成员的class,其汇编代码如下:
然后创建一个有构造函数,但是构造函数不接收参数的class,其汇编代码如下:
和上面没有构造函数的class比,在定义一个object时会自动调用class的构造函数,而且class的this指针会存到ecx寄存器中。
再创建一个带有构造函数和析构函数的class,其汇编代码如下:
和只有构造函数的class比,在离开object的作用域时会自动调用析构函数,和构造函数一样,在调用析构函数前也会将this指针存到ecx寄存器中。