| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Теоретический вопрос по enum |
| Автор: Mephisto 1.10.2010, 13:25 | ||
Зачем нужна такая форма записи в определении класса:
В чем преимущество перед обычной константой, или макроподстановкой? |
| Автор: mes 1.10.2010, 13:50 |
| для данного случая enum является альтернативой будущего constexpr.. погуглите на тему последнего.. к тому же static const определенная внутри класса может потребовать внешнего определения да и поведение отличается на разных компиляторах.. ну а макроподстановка игнорирует области видимости (и т.д.), что ведет к конфликтам имен.. |
| Автор: kemiisto 1.10.2010, 13:56 |
| [offtopic]Как http://youtu.be/sjj0m2mmdLU Владимир Вольфович, "Лужков должен висеть в центре Москвы" |
| Автор: mes 1.10.2010, 13:59 |
ну то что Вы ему приговор вынесли уже давно, это я в курсе.. но что именно послужило поводом озвучить его еще раз в этой теме ? |
| Автор: djamshud 1.10.2010, 14:00 |
| Давайте лучше растерзаем Вирта? |
| Автор: mes 1.10.2010, 14:06 |
чтоб почитатели записали его в великомученики ? пусть сначала заслужит )) |
| Автор: boostcoder 1.10.2010, 14:09 |
| BOOST_STATIC_CONSTANT() в руки ;) |
| Автор: djamshud 1.10.2010, 14:10 |
| Да скольких он уже замучал своими алголами, модулами и прочими оберонами? С этим пора что-то решать |
| Автор: Mephisto 1.10.2010, 18:48 | ||
А вот тут можно подробней? |
| Автор: mes 1.10.2010, 19:39 | ||||||
попробуйте расскоментировать еще использование константы для задания это нагружение логики и вынужденный обходной маневр компилятора.. как видно в примере
не каждой константой можно задать размер массива.. т.е фактически определяя константу, Вы определяете еще нечто, которое и подставляется в местах использования константы.. грубо говоря для логики это выглядит так :
|