C++ 构造函数追踪

实验环境:Windows 10 + VS 2013

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

 

 

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

 

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

 

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

 

 

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

 

posted @ 2020-04-25 23:27  syscall  阅读(227)  评论(0编辑  收藏  举报