C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
Прочее · 23 июня 2026 г.
Большие новости для C++: решаем фундаментальные проблемы из 90-х в C++29 🚀 — 23 июня 2026 г. в 09:55:55.332
Большие новости для C++: решаем фундаментальные проблемы из 90-х в C++29 🚀 Разбираем свежие вести с июньского комитета по стандартизации C++ в Брно. Пол МакКенни опубликовал отличный апдейт по двум сложным темам: Lifetime-End Pointer Zap и OOTA-доступам. Лед окончательно тронулся. 🔹 Lifetime-End Pointer Zap Три важнейших пейпера (базирующиеся на P2434R4) официально проголосованы для включения в C++29. Они наконец-то легализуют и строго определяют атомарные и volatile операции для невалидных указателей. Что это дает на практике? Тот самый infamous алгоритм LIFO Push теперь можно реализовать на плюсах абсолютно легально и прямолинейно. По сути, закрыта архитектурная проблема, висевшая со времен самого первого стандарта 1998 года. (Четвертый пейпер, P3790 про bag-of-bits класс указателей, концептуально одобрен, но отправлен на доработку формулировок до ноябрьской встречи). 🔹 OOTA (Out-of-Thin-Air) значения Появление значений «из ниоткуда» при атомарных операциях — классическая головная боль. Пейпер P3692R4, который тоже залетел в C++29, предлагает элегантный выход для реального железа. Суть проста: физическое время не идет назад. Для кода без UB на физических машинах классических компиляторов OOTA можно избежать. Если вы используете исключительно volatile-атомики — гарантия 100%. Для non-volatile компиляторы должны ограничивать перестановку инструкций, чтобы не создавать циклические зависимости. Это не закрывает вопрос для инструментов формальной верификации вроде herd7 (так как они вообще не моделируют время — для них математическое доказательство еще готовит Марк Бэтти), но решает самую насущную проблему для реального продакшена. 🔗 Читать оригинал статьи https://people.kernel.org/paulmck/c-pointer-zap-and-oota-progress #cpp #programming 👉 @cpp_lib

