関数呼び出しをなくすためにインライン関数が使用されていることは知っています。
インライン関数を使用すると、ストレージを使用してスタックをより空に保つことができます。
どこでもインライン関数を使用することは、プログラミングの良い方法ですか。
関数が複雑な場合、コンパイラはインライン関数をインラインとして使用する義務がないため、その小さな単語inline
をすべての関数に追加するのは良いアプローチでしょうか?
私の一般的なルールはinline
、関数の内容が関数呼び出しのオーバーヘッド以下の場合に関数を使用することです。
例として、getterメソッドまたはsetterメソッドがあります。
プログラムが正しく堅牢に動作した後、ボトルネック セクションの関数を .xml を使用するように変換しますinline
。ただし、これはマイクロ最適化であり、通常、アルゴリズムを再設計するほどの節約にはなりません。
他の人が述べているように、ヘッダー ファイルが変更され、ヘッダー ファイルのすべての依存関係を再構築する必要があるため、インライン関数はビルド プロセスに大混乱をもたらします。インライン化されていない関数は、単一の翻訳単位の構築のみを必要とします。