Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16194
  • 博文数量: 14
  • 博客积分: 245
  • 博客等级: 二等列兵
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-28 13:45
文章分类

全部博文(14)

文章存档

2013年(9)

2012年(5)

我的朋友

分类: C/C++

2013-01-01 23:06:23

内联函数从层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看对该函数定义的具体处理。
 
#include "stdafx.h"
#define swap1(a,b)  {int c;c=a;a=b;b=c;}
#define swap2(a,b)  {a^=b,b^=a;a^=b;}
inline void swap3(int &a,int &b);
void swap3(int &a,int &b)
{
 a^=b,b^=a;a^=b;
}
int _tmain(int argc, _TCHAR* argv[])
{
 int a1=3;
 int b1=5;
 swap1(a1,b1);
 printf("a = %d, b= %d \n",a1,b1);
 int a2=3;
 int b2=5;
 swap2(a2,b2);
    printf("a = %d, b= %d \n",a2,b2);
 
 int a4= 86;
    int b4= 95;
 swap3(a4,b4);
 printf("a = %d ,b=%d \n", a4,b4);
 return 0;
}
阅读(168) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~