📅  最后修改于: 2023-12-03 14:39:58.016000             🧑  作者: Mango
在C++中,内联函数(inline function)能够在函数调用处直接将函数体展开执行,而不是跳转到函数体执行。这种机制使函数调用的开销降低,从而提高程序的执行效率。
内联函数的声明和定义需要在函数声明前面加上inline
关键字,并将函数体放在头文件中或在函数声明的地方进行定义。
示例:
inline int add(int a, int b) {
return a + b;
}
内联函数通常用于对循环语句、小型函数等进行优化,使用时需要注意以下几点:
下面的代码中,add()
函数被声明为内联函数,main()
函数中重复调用该函数,观察程序的执行效率:
#include <iostream>
#include <chrono>
using namespace std;
inline int add(int a, int b) {
return a + b;
}
int main() {
auto start_time = chrono::high_resolution_clock::now();
int sum = 0;
for (int i = 0; i < 1000000; i++) {
sum = add(sum, i);
}
auto end_time = chrono::high_resolution_clock::now();
auto duration = chrono::duration_cast<chrono::microseconds>(end_time - start_time);
cout << "Sum: " << sum << endl;
cout << "Time taken by function: " << duration.count() << " microseconds" << endl;
return 0;
}
在实际测试中,该程序的执行时间比不使用内联函数的程序要快得多。