- # C言語/C++入門 > 関数と変数のスコープ
インライン関数・inline
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
関数をインライン関数として宣言すると、オーバーヘッドを排除できます。
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指定で、必ずインライン生成となるわけではなく、コンパイラが関数をインライン生成できない場合は、通常の関数を生成します。
スポンサーリンク
>> 次の記事 : 関数の引数型/値呼び出し(値渡し)・参照呼出し(参照渡し)・配列
<< 前の記事 : デフォルト引数・定義された引数を使用しない関数
- - 関連記事 -
- 再帰関数
- 関数の引数型/値呼び出し(値渡し)・参照呼出し(参照渡し)・配列
- デフォルト引数・定義された引数を使用しない関数
- 関数のオーバーロード
- 参照型の戻り値で関数定義・参照戻し
- 参照型の引数で関数定義
- const宣言の引数を持つ関数
- 引数のない関数(void)・voidの戻り値
- 関数の定義
- using文・using namespace
- 名前空間・namespace
- 変数の記憶クラス
- グローバル変数とローカル変数
スポンサーリンク