C++中有时需要重复调用某个函数多次,但执行函数体内部所需时间相较于调用函数本身所花开销来说可以忽略,这时就可以在定义函数最前面加上inline关键字,其可以使编译器将整个函数体的代码插入到调用语句处,这样就可以省掉在多次调用某个函数下产生的额外开销,例如:
调用的func.cpp:
inline bool func(int n) {
return (n%2 == 0) ? true:false;
}
main.cpp:
#include<iostream>
#include"func.cpp"
using namespace std;
int main() {
for(int i = 0; i<100; ++i) {
bool b = func(i);
if(b == true) cout<<"number = "<<i<<endl;
}
return 0;
}
注意inline适用于函数体本身所用时间较少的情形,是用空间换时间的思想;同时要求调用内联函数前就已经出现内联函数的定义,而不仅仅出现其声明。