Рубрика «c++26»
Встреча ISO C++ в Софии: С++26 и рефлексия
2025-07-01 в 7:00, admin, рубрики: annotations, c++, c++26, c++29, constexpr, coroutines, exception, executor, executors, parallel programming, ranges, reflection, safety, security, simd, undefined behavior, С++, с++26, с++29
Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса, и сейчас я расскажу о софийской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была последняя встреча, на которой новые фичи языка, с предодобренным на прошлых встречах дизайном, ещё могли попасть в C++26.
И результат превзошёл все ожидания:
- compile-time-рефлексия
- рефлексия параметров функций
- аннотации
std::optional<T&>- параллельные алгоритмы
Переходим на C++26: как собрать и настроить GCC 15.1 в Ubuntu
2025-04-29 в 12:15, admin, рубрики: c++, c++26, gcc, gcc15, linux, UbuntuСтандарты языков C и C++ и их компиляторы стремительно развиваются, но далеко не все новинки становятся нам доступны сразу.
Эту статью я решил подготовить по случаю недавнего (25 апреля 2025) релиза компилятора GCC 15.1.0. В нем стали доступны для использования некоторые фичи из C++26.
К сожалению, текущая версия Ubuntu (24.04.2 LTS) изначально содержит достаточно старый GCC 13.3.0. Чтобы использовать что-то поновее, нужен "ручной" подход.
Дальнейший наш план таков. Мы установим новейшую версию GCC из исходников, настроим ее работу в системе по умолчанию и на пробу скомпилируем С++ код, использующий элементы стандарта C++26.
Читать полностью »
ISO C++ — встреча международного комитета в Польше
2024-11-26 в 7:00, admin, рубрики: byte, c++, c++26, consteval, constexpr, exception, memory, reflection, safety, security, simd, undefined behavior, С++, с++26
В этот раз без внимания не остались темы:
- Рефлексия времени компиляции и оператор «монобровь»
- Constexpr, много constexpr
- SIMD
- Structured bindings as a pack
- Безопасность, контракты, libc++ hardening, профили, UB и std::launder
- Сколько бит в байте?
Свет видел много любительских реализаций std::tuple, и реализация своих велосипедов — наверное, действительно действенный способ обучения: вряд-ли можно сказать, что ты что-то по-настоящему понимаешь, если не можешь объяснить, как это что-то устроено.
Многие пытливые умы на протяжении десятилетий задавались вопросом: как же реализован std::tuple, как мне реализовать свой тупль (кортеж)? [1]
И немало было дано на эти вопросы ответов и написано статей ([2]). Однако я берусь утверждать, что все они имеют один Читать полностью »
Первые новинки C++26: итоги летней встречи ISO
2023-08-17 в 10:24, admin, рубрики: c++, c++26, constexpr, file, float, floating point, function, functions, hazard pointers, iso, native api, numeric, rcu, span, Программирование, С++, с++26
На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++:
- улучшенный
static_assert, - переменная
_, - оптимизация и улучшение для
std::to_string, - Hazard Pointer,
- Read-Copy-Update (так же известное как RCU),
native_handle(),- целая вереница классов
*function*, - множество доработок по
constexpr, std::submdspan,- и прочие приятные мелочи.
C++23 — финал, C++26 — начало
2023-02-20 в 9:00, admin, рубрики: C, c++, c++23, c++26, c23, compilers, exception, exception handling, iso, ranges, stacktrace, standard library, Блог компании Яндекс, Компиляторы, Программирование, С++, с++23, с++26, с23
С момента моей прошлой публикации состоялось уже две встречи международного комитета по стандартизации C++.
Комитет занимался полировкой C++23:
static operator[];static constexprвconstexpr-функциях;- безопасный range-based for;
- взаимодействие
std::printс другими консольными выводами; - монадический интерфейс для
std::expected; static_assert(false)и прочее.
И прорабатывал новые фичи C++26:
std::getиstd::tuple_sizeдля агрегатов;#embed;- получение
std::stacktraceиз исключений; - stackful-корутины.
Детерминированные исключения и обработка ошибок в «C++ будущего»
2018-11-23 в 15:33, admin, рубрики: c++, C++20, c++23, c++26, contracts. контракты, destruction, destructive move, error code, error handling, error_code, exception handling, expected, herb sutter, niall douglas, optional, proposal, status_code, std::error, throws, trivially relocatable, коды ошибок, Программирование, статические исключенияСтранно, что на Хабре до сих пор не было упомянуто о наделавшем шуму предложении к стандарту C++ под названием "Zero-overhead deterministic exceptions". Исправляю это досадное упущение.
Если вас беспокоит оверхед исключений, или вам приходилось компилировать код без поддержки исключений, или просто интересно, что будет с исключениями в C++2b (отсылка к недавнему посту), прошу под кат. Вас ждёт выжимка из всего, что сейчас можно найти по теме, и пара опросов.


