(続き) 仮想関数のインライン化

散々言われている事とは思うけども、仮想関数もインライン展開の対象に なる ので要注意です。


値オブジェクトのメソッドが呼ばれている場合は実行時に動的束縛する必要がないからインライン化できます。Foo::bar() が仮想関数として、

Foo f;
f.bar();

はインライン展開できます。


おまけ:某所のログ

16:26 >k< -finline : inlineキーワードを見る/見ない
16:26 >k< -finline-functions : inlineキーワードの有無に関係なく簡単な関数はインライン展開する
16:26 >k< のようですね
16:26 >k< でも、-finline(か最適化)していない場合は-finline-functionsは無視されるようだ
16:26 >k< いみわかんね>gcc