c++内联函数
c++内联函数
内联函数在c++里面用关键字inline来定义,当将函数定义为内联函数时,之后调用时,编译器会将函数调用部分代码替换为内联函数定义中的代码,从而回避了函数调用与返回的时间开销。
例如:
//非内联函数
int max(int a,int b)
{
return a > b ? a : b ;
}
//内联函数
inline int max(int a,int b)
{
return a > b ? a : b ;
}
宏定义与调用:
#define GETMAX(a,b)((a)>(b)?(a):(b))
inline 是一种用于实现的关键字
关键字 inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。
如下风格的函数 Foo 不能成为内联函数:
inline void Foo(int x, int y);
void Foo(int x, int y){}
// inline 仅与函数声明放在一起
而如下风格的函数Foo 则成为内联函数:
void Foo(int x, int y);
inline void Foo(int x, int y) {}
// inline 与函数定义体放在一起

浙公网安备 33010602011771号