インライン関数・inline

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

関数をインライン関数として宣言すると、オーバーヘッドを排除できます。
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指定で、必ずインライン生成となるわけではなく、コンパイラが関数をインライン生成できない場合は、通常の関数を生成します。


日時: 2008年06月04日 18:49
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/211

この記事にトラックバックされる方は、参照先が分かるようにするために、「インライン関数・inline」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - C言語とC++勉強ルーム