Завершена техническая работа над стандартом C++26
Полностью завершена техническая работа над стандартом C++26.
"Большая четвёрка" ключевых нововведений C++26:
Reflection -- крупнейшее улучшение со времен появления темплейтов! Позволяет коду "видеть" и генерировать себя на этапе компиляции.
Memory Safety -- существенное повышение безопасности при перекомпиляции кода в C++26.
Чтение неинициализированных локальных переменных больше не вызывает UB. Стандартная библиотека получила hardened версию с проверками границ (уже
протестирована Google и Apple на сотнях миллионов строк кода, оверхед ~0.3%).
Чтение неинициализированных локальных переменных больше не вызывает UB. Стандартная библиотека получила hardened версию с проверками границ (уже
протестирована Google и Apple на сотнях миллионов строк кода, оверхед ~0.3%).
Contracts -- языковая поддержка предусловий, постусловий и contract_assert для функциональной безопасности (принята, несмотря на технические разногласия).
td::execution (Sender/Receiver) -- унифицированная асинхронная модель
для управления конкурентностью и параллелизмом.
для управления конкурентностью и параллелизмом.
Говорят, что GCC и Clang уже реализовали 2/3 возможностей,
включая рефлексию и контракты.
включая рефлексию и контракты.
График трехлетнего цикла разработки C++29 утверждён, основной фокус -- дальнейшее повышение безопасности памяти и работа над profiles для контроля безопасности кода (в стиле WebKit).
Creator has disabled comments for this post.