BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ インライン関数とは何ですか。

C
 Cでは、インライン関数はサポートされません。

C99 C++
 C99およびC++ではインライン関数inline function)がサポートされます。インライン関数を利用すると、実行速度の高速化が期待できます。関数定義に関数指定子inlineを加えると、インライン関数となります。
 たとえば、二乗値を求める関数sqrが、

inline sqr(int x) { return (x * x); }

と定義されているとすると、それを呼び出す

z = sqr(y + 3);

は、

z = (y + 3) * (y + 3);

と置き換えられます。
 ただし、処理系や関数の内容によっては、必ずしも上記のような展開・埋め込みが行われるとは限らないことに注意しましょう。


■ 根拠 ■
標準C99 §6.7.4 Function Specifiers
標準C++ §7.1.2 Function Specifiers

戻る

BohYoh.comロゴ