内联函数从层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用替换调用处的函数名。一般在代码中用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) |