C++ インライン関数
C++ インライン関数は通常、クラスと一緒に使用されます。関数がインラインである場合、コンパイル時にコンパイラはその関数のコードのコピーを、その関数を呼び出す各場所に配置します。
インライン関数に何らかの変更を加える場合、コンパイラはすべてのコードを置き換える必要があるため、関数のすべてのクライアントを再コンパイルする必要があります。そうしないと、古い関数が引き続き使用されます。
関数をインライン関数として定義したい場合は、関数名の前にキーワードinlineを配置し、関数を呼び出す前に関数の定義を行う必要があります。定義済みの関数が1行を超える場合、コンパイラは inline 指定子を無視します。
クラス定義内で定義された関数は、たとえinline指定子を使用していなくても、すべてインライン関数です。
以下は、インライン関数を使用して2つの数値の最大値を返す例です:
#include <iostream>
using namespace std;
inline int Max(int x, int y)
{
return (x > y)? x : y;
}
// 程序的主函数
int main( )
{
cout << "Max (20,10): " << Max(20,10) << endl;
cout << "Max (0,200): " << Max(0,200) << endl;
cout << "Max (100,1010): " << Max(100,1010) << endl;
return 0;
}
上記のコードがコンパイルおよび実行されると、次の結果が生成されます:
Max (20,10): 20 Max (0,200): 200 Max (100,1010): 1010その他の拡張
C++ クラス & オブジェクト