2012-05-02 1 views
0

Если вложенная структура будет содержать только постоянные члены-константы, это повлияет на производительность в любом случае? Я хочу использовать его для охвата этих констант.Влияют ли вложенные структуры на производительность?

class File { 

    public: 

     struct Mode { 
      static const int Read = 0x01, Write = 0x02, Append = 0x04; 
     }; 

}; 

Это хорошая практика?

+1

Забудьте о производительности и сосредоточьтесь на написании хорошего качества, надежного и удобочитаемого кода. –

+0

Избегание определенных видов хитов производительности - это свойство кода «хорошего качества» (см. «Шлемиель художник», хотя также см. Ответы на «Шлемиэль», в которых упоминается «преждевременная оптимизация»). Это не одна из тех проблем с производительностью, но вы совершенно правы, чтобы знать последствия использования конструкции, которую вы никогда раньше не использовали. «Забыть о производительности» - это роскошь тех, у кого достаточно опыта, что они могут легко идентифицировать редкие случаи, когда им придется помнить об этом в спешке и использовать свой интеллект плюс профилировщик, чтобы понять, почему их код низкий -качественный. –

ответ

3

Совсем нет, переменные разрешаются во время компиляции, а не во время выполнения.

+0

Corrollary: если есть сомнения, прочитайте сгенерированный код, чтобы увидеть, как выглядит «сайт использования» для этих констант. – unwind