S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

*函数名?

Posted on 2010-05-25 10:49 S.l.e!ep.¢% 阅读(225) 评论(0)  编辑 收藏 引用 所属分类: C++
#include  < iostream >
using   namespace  std;

int  function( int  x, int  y)
{
    
return  x + y;
}

void  main()
{

    
int  ( * p)( int  x,  int  y);

    
int  i;

//     p = (*function);
//     p = function;

    i
= ( * function)( 1 1 );

    i
= function( 1 1 );
}

(*函数名)   以前从未试过这种写法,做了下测试
1. 地址是一样的
2. 反汇编的代码也是一样的

19:       i=(*function)(1, 1);
00401078   push        1
0040107A   push        1
0040107C   call        @ILT+0(function) (00401005)
00401081   add         esp,8
00401084   mov         dword ptr [ebp-8],eax
20:
21:       i=function(1, 1);
00401087   push        1
00401089   push        1
0040108B   call        @ILT+0(function) (00401005)
00401090   add         esp,8
00401093   mov         dword ptr [ebp-8],eax
22:   }


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理