noinline
Блок, относящийся только к системам Майкрософт
__declspec(noinline)
указывает компилятору никогда не встраивать определенную функцию-член (функцию в классе).
Запрещать использовать функцию как встроенную имеет смысл, если она небольшая и не оказывает критического влияния на производительность кода. То есть, если функция небольшая и вряд ли будет вызываться часто (например, функция, которая обрабатывает условие ошибки).
Имейте в виду, что если функция помечена noinline
, вызывающая функция будет меньше, и, следовательно, сам кандидат на встраивание компилятора.
class X {
__declspec(noinline) int mbrfunc() {
return 0;
} // will not inline
};
Завершение блока, относящегося только к системам Майкрософт