inline函数定义
inline是C++中一个很有效的关键字,函数声明为inline,要求编译器在每个函数调用点上,将函数的内容展开,用一份函数副本来替代每一个调用该inline函数的地方,这样当程序执行到该函数时,不用将当前的信息压入栈中,跳去另外一片内存执行,因此使用inline能够节省很多时间开销。且替代行为发生在编译阶段而非程序执行阶段!!!
inline函数声明
inline函数的定义常常被置于头文件中
声明一个inline没必要一定声明在一个类的内部,声明如下:
Class A
{
Public:
inline void XXX(int *m, int *n)
{
........
}
}
Class A
{
Public:
void XXX(int *m, int *n)
};
inline int A::inline void XXX(int *m, int *n)
{
......
}
使用inline函数注意点
将函数指明为inline,只是对编译器提出的一种要求,编译器接不接受这项请求,不是你说了算,这要看编译器是否接受,inline并没有强制性!!
什么时候用inline函数?
- 函数体积小,代码量不大
- 该函数经常被调用
- 执行的计算不复杂
参考资料:
http://www.cnblogs.com/QG-whz/p/4641479.html#_label0
https://en.wikipedia.org/wiki/Inline_function
《Essential C++》