天下

记录修行的印记

再学C++98 构造函数

#include "stdafx.h"
class Test
{
public:
    
int _a;
    Test(
int a) : _a(a) {}
    Test()
    {
        
this->Test::Test(0); //结果正确
        Test(0); //结果错误,_a 随机
        *this = Test(0); //正确,但产生临时对象
    }
};




int _tmain(int argc, _TCHAR* argv[])
{
    Test obj;
    printf(
"%d \r\n",obj._a);
    
return 0;
}


this->Test::Test(0); //汇编
    {
        
this->Test::Test(0);
00BD1483  push        
0  
00BD1485  mov         ecx,dword ptr [
this]  
00BD1488  call        Test::Test (0BD101Eh)  

    }
    
   
   
Test(
0);//汇编 
    {
        Test(0);
00031483  push        0  
00031485  lea         ecx,[ebp-0D4h]  
0003148B  call        Test::Test (3101Eh)  
    }    

posted on 2016-08-12 15:30 天下 阅读(77) 评论(0)  编辑 收藏 引用 所属分类: C/C++


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(4)

随笔分类(376)

随笔档案(325)

链接

最新随笔

搜索

最新评论