constexpr
-
Хабрахабр
Первые новинки C++26: итоги летней встречи ISO
На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++: улучшенный static_assert, переменная _, оптимизация и улучшение для std::to_string, Hazard Pointer, Read-Copy-Update (так же известное как RCU), native_handle(), целая вереница классов *function*, множество доработок по constexpr, std::submdspan, и прочие приятные мелочи. Для тех, кто предпочитает видеоформат Если вам больше…
Читать далее » -
Хабрахабр
Feature freeze С++23. Итоги летней встречи комитета
На недавней встрече комитет C++ «прорвало», и в черновую версию C++23 добавили: std::mdspan std::flat_map std::flat_set freestanding std::print("Hello ", "world") форматированный вывод ranges constexpr для bitset, to_chars/from_chars std::string::substr() && import std; std::start_lifetime_as static operator() [[assume(x > 0)]]; 16- и 128-битные float std::generator и очень много другого std::mdspan После того как на прошлой встрече приняли многомерный operator[], реализация std::mdspan упростилась на порядок.…
Читать далее » -
Хабрахабр
С++23 — итоги февральской встречи международного комитета
Без лишних слов, прямо к делу — вот какие новые вкусности будут нас ждать в C++23: std::expected — новый механизм сообщения об ошибках без использования исключений и без недостатков кодов возврата. constexpr-математика — теперь на этапе компиляции можно доставать разные части чисел с плавающей запятой, копировать знаки и округлять числа. std::ranges::to — результаты работы алгоритмов можно легко превратить в контейнер.…
Читать далее » -
Хабрахабр
С++23 WIP: онлайн-встреча международного комитета по C++
Вчера прошла встреча рабочей группы ISO C++, добавляли фичи в C++23, исправляли C++20. Мы участвуем в работе комитета, поэтому сегодня поделюсь с вами свежими новостями о развитии стандарта. Должен заметить, что международный комитет в онлайне работает совсем уж неторопливо… Настолько неторопливо, что на февральской встрече из полезного приняли только std::to_underlying() — функцию, преобразовывающую значение enum к нижележащему целочисленному типу: enum…
Читать далее » -
Хабрахабр
Мемоизация в compile time вычислениях в C++
Программистам на C++ хорошо (надеюсь!) известно, что во время компиляции можно производить разнообразные вычисления. Лишь бы эти вычисления были "чистыми", без побочных эффектов. Это делается на шаблонах и на constexpr функциях. Чистое выражение означает, что, сколько бы раз мы его ни попытались вычислить, мы получим один и тот же результат. Поэтому из соображений эффективности результат желательно мемоизировать, чтобы второй раз…
Читать далее » -
Хабрахабр
Баги C++20. Итоги встречи в городе Белфаст
На днях прошла встреча комитета по стандартизации языка программирования C++ в городе Белфасте. От представителей стран в комитет прилетело около 400 замечаний к C++20, с половиной из них успели расправиться. Под катом вас ждут результаты обсуждений замечаний России (да-да, ВАШИХ замечаний к C++20), некоторые замечания других стран, ну и подходящие новинки C++23 (Executors!). И вот что из этого вышло… Все…
Читать далее » -
Хабрахабр
Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора)
Я обучаю своих студентов работе с микроконтроллером STM32F411RE, на борту которого имеется аж целых 512 кБайт ROM и 128 кБайт ОЗУОбычно на этом микроконтроллере в ROM память записывается программа, а в RAM изменяемые данные и очень часто нужно сделать так, чтобы константы лежали в ROM.В микроконтроллере STM32F411RE, ROM память расположена по адресам с 0x08000000...0x0807FFFF, а RAM с 0x20000000...0x2001FFFF. И если…
Читать далее » -
Хабрахабр
Feature freeze C++20. Приняли ли Coroutines и Modules?
На днях прошла встреча международного комитета по стандартизации C++ в американском городе Кона. Это была не просто встреча, а feature freeze! Никакие серьёзные новые идеи больше не могут просачиваться в стандарт, остаётся лишь пара встреч на добавление предварительно одобренных вещей, исправление недочётов и устранение шероховатостей. Всё это и многое другое ожидает вас под катом. Ожидать ли Модули и Корутины в…
Читать далее » -
Хабрахабр
С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего
До C++20 осталась пара лет, а значит, не за горами feature freeze. В скором времени международный комитет сосредоточится на причёсывании черновика C++20, а нововведения будут добавляться уже в C++23. Какие новинки появятся в C++20, что из крупных вещей приняли, а что отклонили — всё это ждёт вас под катом. Ноябрьская встреча в Сан-Диего — предпоследняя перед feature freeze. char8_t Добавили…
Читать далее » -
Хабрахабр
С++20 на подходе! Встреча в Рапперсвил-Йона
В начале июня в городе Рапперсвил-Йона завершилась встреча международной рабочей группы WG21 по стандартизации C++. Вот что вас ждёт под катом: Контракты и друзья Концепты (без друзей) __has_cpp_attribute(unlikely) bit_cast<my_stuff>(some_array) contains, shift_left, shift_right, ispow2, ceil2… и старые алгоритмы под новым соусом atomic_ref Что нового можно писать в шаблонах и чем это полезно constexpr virtual foo() Parallelism 2, Reflection и Executors TS…
Читать далее »