noinline
Microsoft 固有の仕様 →
__declspec(noinline) は、特定のメンバー関数 (クラス内の関数) をインラインにしないことをコンパイラに伝えます。
コードのパフォーマンスにとって大きな意味がなく、重要でなければ、関数をインラインにしない方がよい場合があります。 つまり、関数が小さく、頻繁に呼び出されないと考えられる場合 (エラー条件を処理する関数など)。
関数が noinline とマークされている場合、呼び出し元の関数が小さく、それ自体がコンパイラのインライン展開の候補になることに注意してください。
class X {
__declspec(noinline) int mbrfunc() {
return 0;
} // will not inline
};