constexpr

  • ХабрахабрФото Первые новинки C++26: итоги летней встречи ISO

    Первые новинки 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. Итоги летней встречи комитета

    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 — итоги февральской встречи международного комитета

    С++23 — итоги февральской встречи международного комитета

    Без лишних слов, прямо к делу — вот какие новые вкусности будут нас ждать в C++23: std::expected — новый механизм сообщения об ошибках без использования исключений и без недостатков кодов возврата. constexpr-математика — теперь на этапе компиляции можно доставать разные части чисел с плавающей запятой, копировать знаки и округлять числа. std::ranges::to — результаты работы алгоритмов можно легко превратить в контейнер.…

    Читать далее »
  • ХабрахабрФото С++23 WIP: онлайн-встреча международного комитета по C++

    С++23 WIP: онлайн-встреча международного комитета по C++

    Вчера прошла встреча рабочей группы ISO C++, добавляли фичи в C++23, исправляли C++20. Мы участвуем в работе комитета, поэтому сегодня поделюсь с вами свежими новостями о развитии стандарта. Должен заметить, что международный комитет в онлайне работает совсем уж неторопливо… Настолько неторопливо, что на февральской встрече из полезного приняли только std::to_underlying() — функцию, преобразовывающую значение enum к нижележащему целочисленному типу: enum…

    Читать далее »
  • ХабрахабрФото Мемоизация в compile time вычислениях в C++

    Мемоизация в compile time вычислениях в C++

    Программистам на C++ хорошо (надеюсь!) известно, что во время компиляции можно производить разнообразные вычисления. Лишь бы эти вычисления были "чистыми", без побочных эффектов. Это делается на шаблонах и на constexpr функциях. Чистое выражение означает, что, сколько бы раз мы его ни попытались вычислить, мы получим один и тот же результат. Поэтому из соображений эффективности результат желательно мемоизировать, чтобы второй раз…

    Читать далее »
  • ХабрахабрФото Баги C++20. Итоги встречи в городе Белфаст

    Баги C++20. Итоги встречи в городе Белфаст

    На днях прошла встреча комитета по стандартизации языка программирования C++ в городе Белфасте. От представителей стран в комитет прилетело около 400 замечаний к C++20, с половиной из них успели расправиться. Под катом вас ждут результаты обсуждений замечаний России (да-да, ВАШИХ замечаний к C++20), некоторые замечания других стран, ну и подходящие новинки C++23 (Executors!). И вот что из этого вышло… Все…

    Читать далее »
  • ХабрахабрФото Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора)

    Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора)

    Я обучаю своих студентов работе с микроконтроллером STM32F411RE, на борту которого имеется аж целых 512 кБайт ROM и 128 кБайт ОЗУОбычно на этом микроконтроллере в ROM память записывается программа, а в RAM изменяемые данные и очень часто нужно сделать так, чтобы константы лежали в ROM.В микроконтроллере STM32F411RE, ROM память расположена по адресам с 0x08000000...0x0807FFFF, а RAM с 0x20000000...0x2001FFFF. И если…

    Читать далее »
  • ХабрахабрФото Feature freeze C++20. Приняли ли Coroutines и Modules?

    Feature freeze C++20. Приняли ли Coroutines и Modules?

    На днях прошла встреча международного комитета по стандартизации C++ в американском городе Кона. Это была не просто встреча, а feature freeze! Никакие серьёзные новые идеи больше не могут просачиваться в стандарт, остаётся лишь пара встреч на добавление предварительно одобренных вещей, исправление недочётов и устранение шероховатостей. Всё это и многое другое ожидает вас под катом. Ожидать ли Модули и Корутины в…

    Читать далее »
  • ХабрахабрФото С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего

    С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего

    До C++20 осталась пара лет, а значит, не за горами feature freeze. В скором времени международный комитет сосредоточится на причёсывании черновика C++20, а нововведения будут добавляться уже в C++23. Какие новинки появятся в C++20, что из крупных вещей приняли, а что отклонили — всё это ждёт вас под катом. Ноябрьская встреча в Сан-Диего — предпоследняя перед feature freeze. char8_t Добавили…

    Читать далее »
  • ХабрахабрФото С++20 на подходе! Встреча в Рапперсвил-Йона

    С++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…

    Читать далее »


Кнопка «Наверх»