は、我々が持っていると仮定します。派生クラスでベースクラスの_forceinline仮想関数は、明示的に記述することなく派生クラスで__forceinlinedされますか?
class Base
{
__forceinline virtual int A() {return 1;}
}
class Derived: public Base
{
int A()
{
return 2;
}
}
機能Aは、明示的に述べずに仮想的です。派生クラスの関数Aも明示的に記述することなく__forceinlinedされますか?
何もインライン化する必要がある場合は、同じ関数のアウトオブラインコピーを生成するためにコンパイラを停止しません。関数本体のために2つのコピーがあります - 一つはインラインで呼び出され、もう一つは事実上呼び出される必要があります。 – Viren
仮想関数がインライン化できるので、プログラマがインライン化するのを止めるものはありません。コードが肥大化しますが、言語には制限がありません(ただし、やはり悪い習慣です)。 – Viren
@Viren Shakya:Trueですが、関数そのものではなく、インライン呼び出しについて言います。 – sharptooth