<C++ primer (3rd)>
以下は、 Stanley B. Lippman Josée Lajoie によるの第 7.6 章からの抜粋です。
inline として指定された関数は、関数が呼び出されたプログラム内の各ポイントで「インライン」に展開されます。例えば、
int minVal2 = min( i, j );
コンパイル中に展開されます
int minVal2 = i < j ? 私:j;
したがって、min() を関数にする実行時のオーバーヘッドは取り除かれます。min() は、関数の宣言または定義で関数の戻り値の型の前に inline キーワードを指定することにより、インラインで宣言されます。
inline int min( int v1, int v2 ) { /* ... */ }
ただし、インライン指定はコンパイラへの推奨事項にすぎないことに注意してください。インラインで宣言された関数は呼び出し時点での展開に適していないため、コンパイラはこの推奨事項を無視することを選択する場合があります。たとえば、rgcd() などの再帰関数は、呼び出しの時点で完全に展開することはできません (最初の呼び出しは可能ですが)。1,200 行の関数も、呼び出し時に展開されない可能性があります。一般に、インライン メカニズムは、頻繁に呼び出される小さく直線的な関数を最適化することを目的としています。 これは、セクション 2.3 で導入された IntArray クラスの size() インライン メンバー関数など、抽象データ型の設計に隠されている情報をサポートする上で最も重要です。
誰かが太字でマークされた文を説明できますか?