コンパイラで完全な最適化を有効にし、クラスを次のように設定した場合:
class A
{
void Do_A_Stuff();
};
class B
{
A a;
void Do_B_Stuff() { a.Do_A_Stuff(); }
};
class C
{
B b;
void Do_C_Stuff() { b.Do_B_Stuff(); }
};
class D
{
C c;
void Do_D_Stuff() { c.Do_C_Stuff(); }
};
Do_D_Stuff()
直接呼び出すよりも呼び出しが遅くなる状況はありDo_A_Stuff()
ますか? また、これにはinline
各ラッパーの「チェーン」にキーワードが必要ですか、それとも単なる提案であるため、コンパイラーはキーワードなしでこれを最適化することを決定できますか?
インライン化に関する情報はたくさんありますが、多くのラッパーを連鎖させることに関する具体的な情報は見つかりませんでした。