inline内联函数总结
程序员文章站
2022-03-15 16:30:49
...
inline关键字是C++区别于C的地方,用于代替#define声明代码段,能够像普通函数一样参数检查,自动类型转换,返回类型,目的是为了减少普通函数入栈出栈,跳转,返回的开销,因此执行代码不宜过大,最好短小精悍。
inline 不能与函数声明写在一块,而要与实现写在一块
inline void F(int a,int b){ a> b? a : b=10; cout<<a<<" "<<b<<endl; }
与宏定义进行比较
#define cp(a,b) ((a) > (b) ? (a) : (b)=10);cout<<a<<" "<<b<<endl;
注:
1.写#define时注意括号使用
2. a> b? a : b=10;为C++用法,三目运算符进行功能加强,可以为左值
测试
double x1=100.31;
int y1=200;
cp(x1,y1);
1.inline效果:
100 10
2.宏定义效果:
100.31 10
所以,内联函数还是舒服些。