関数をインライン関数として宣言すると、オーバーヘッドを排除できます。
inlineキーワードを使うと、C++コンパイラに、関数呼び出しを生成するよりも、関数本文をメインのコードストリームの中に入れるように知らせます。
こうして、オーバーヘッドが減少する。
インライン関数は、コードストリームの中で、呼び出しごとにインラインで展開する関数です。
下記コード例の、total() は、呼び出されるごとにインラインで展開されます。
#include <iostream>
using namespace std;
inline int total(int x) {
return (int)(x * 1.05);
}
int main() {
cout << total(10000) << "\n";
return 0;
}
実行結果。
10500
1行程度の簡単な関数の場合、インライン関数としたほうがオーバーヘッドが少なくなります。
ただし、inline指定で、必ずインライン生成となるわけではなく、コンパイラが関数をインライン生成できない場合は、通常の関数を生成します。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/211