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 与函数定义体放在一起
posted @ 2021-01-21 07:14  未徙  阅读(1)  评论(0)    收藏  举报