Efficient C++ 8~10章 まとめ

Efficient C++ 8章から10章の簡単なまとめです。


8章 インラインの基礎

インライン化で関数呼び出しのオーバヘッドを取り除ける。
"int calc(int a, int b){ return a + b; }"のような小さい関数をインライン化する場合は、関数呼び出しの命令分プログラムサイズを小さくできる。


9章 インライン - パフォーマンス一考

過度のインライン化によって、コードサイズが膨らむ場合がある。
複雑なインライン化の決定には、プロファイラを使うべき。
使用頻度に関係なく、小規模な関数はすべてインライン化するべき。
規模が大きい関数を複数の関数に分けることで、インライン化できる場合がある。


10章 インラインのコツ

staticなローカル変数を含む関数をインライン化すると、変数が複数になってしまうコンパイラもあるので注意する。
インライン関数の候補は.inlファイルに置かれる。
.inlファイルのインクルードを工夫することで、インライン化される部分を特定したり、インライン化を禁止できる。