Здравствуйте, Сергей Мухин, Вы писали:
СМ>Здравствуйте, programmater, Вы писали:
СМ>напиши так:
СМ>СМ> bool GetDrawPoints() const
СМ> {return m_Mask.bShowPoints && m_Values.bShowPointIcons;}
СМ>
Именно! Этот ответ я нашел сам в процессе эксперимента (уже после того, как отослал вопрос).
Более, если для доступа к отдельному флагу писать не
inline bool GetSomeFlag() const {return m_Flags.bSomeFlag;}
которое работает неэффективно, а
inline bool GetSomeFlag() const
{
if(m_Flags.bSomeFlag) {return true;}
else return false;
}
то сгенерированный код будет более эффективным. Воистину пути компилятора неисповедимы

, и иногда более страшно выглядящий фрагмент программы на С++ разворачивается в более эффективный код.
Всем спасибо.
ЗЫ. набор инструкций тут не при чем. Иначе бы он и при развороте тела функции непосредственно в оператор условия тоже генерировал бы неэффективный код. Компилятор — 2005 студия (которая по моему меньше чем для пентиума и генерировать не умеет).