| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > constexpr |
| Автор: Ilya83 6.1.2014, 21:02 |
| Есть Константы, есть макросы. Зачем придумали constexpr?? На форуме нашел, как чел выпендривается тем, что он может вычислить факториал на этапе компиляции Для этого??? |
| Автор: disputant 7.1.2014, 09:26 | ||||
Ну, например, знаете такую функцию -
Ну, а вычислять факториал на уровне компиляции можно и с помощью шаблонов - как два байта переслать |
| Автор: vinter 7.1.2014, 09:41 |
| Можешь посмотреть http://scrutator.me/post/2013/11/19/constant_expressions.aspx статью, я там привёл некоторые причины, которые объясняют преимущества constexpr. |
| Автор: Ilya83 7.1.2014, 10:02 |
| vinter, Хах дааа! Вот на чем я застрял! Попытка определить константу в классе. Подскажите, как мне использовать constexp ? Мой компилятор MinGW говорит, что я должен явно указать, что хочу использовать C++11 (windows, qt Creator) |
| Автор: Ilya83 7.1.2014, 10:20 | ||
Проблема решена! Добавил QMAKE_CXXFLAGS += -std=c++11 в .pro файл. Всем спасибо Но свой пример я так и не нашел. Везде пишут про конструктор или функцию Тогда тут что:
??????? |
| Автор: akizelokro 7.1.2014, 18:58 |
| ..долгополз .. дыры затыкают ввиду всякой непродуманности и непоследовательности. Зато зашибись! С рулез! форевер! А я прочитал ещё про пару GCC extensions, вообще крутяк. Здеся вообщ проблемы, что в первом стандарте конструкции типа throw и ряд подобных ввобще не выдержали проверки действительной реальностью. "И это бывает.." |
| Автор: vinter 7.1.2014, 20:09 |
| Ilya83, я не очень понимаю твой вопрос. В твоём случае constexpr значит тоже самое, что const |
| Автор: akizelokro 7.1.2014, 20:27 |
| Сегодня же выползли из другой темы, где внутри объявления структуры можно было инициализировать/задавать только const static члены структуры. Небось в своё время возник вопрос, а почему такая несправедливость? И тут проявилось наследие С, что если проблема навзничь не решается, - она должна быть решена по любому. IMPORTANT***========================================== C++ по подходу даже не выход к ООП, а лишь средство индустриализации С. Но при этом в ООП не стоит задача кроме самореализации, а у С была изначально задача решать все задачи. |
| Автор: Ilya83 7.1.2014, 21:56 | ||
Дык вот и я о том же!!! Все норм. люди делают константы. Только Сишникам надо обязательно выя.....ца. Написать код в 1-ну строчку, понаделать #defineов, пол кода выполнить на этапе компиляции. Потом это выложить в сеть дескать Вот зыкайте какой я мля кодер продвинутый |
| Автор: Ilya83 7.1.2014, 23:12 |
| Просто надо создать новый язык с++ А вся новизна в том, чтобы убрать все совместимости с пред. стандартами. Раздражает эта салянка Все, как хотят так и пишут. Вывод строки на экран (например) Кто scanf, кто printf, кто cout, кто............ Может выберете уже что-то одно???!!! |
| Автор: disputant 8.1.2014, 09:15 | ||
Гм, каждый выбирает то, что ему больше подходит. Как раз этим C++ и приятен, помимо прочего - богатством выбора. |