C++ 构造函数追踪

实验环境:Windows 10 + VS 2013

首先创建一个只有数据成员的class,其汇编代码如下:

然后创建一个有构造函数,但是构造函数不接收参数的class,其汇编代码如下:

 和上面没有构造函数的class比,在定义一个object时会自动调用class的构造函数,而且class的this指针会存到ecx寄存器中。

再创建一个带有构造函数和析构函数的class,其汇编代码如下:

 和只有构造函数的class比,在离开object的作用域时会自动调用析构函数,和构造函数一样,在调用析构函数前也会将this指针存到ecx寄存器中。

原文地址:https://www.cnblogs.com/triangleowl/p/12775911.html