Рефлексия, контракты и безопасность памяти. Почему C++26 называют самым сильным релизом после C++11
NewsMakerКомитет ISO завершил техническую подготовку стандарта C++26.
C++ подошел к самой важной развилке за много лет. Комитет ISO завершил техническую работу над стандартом C++26 , закрыл последние международные замечания и готовит финальный проект к утверждению. Для разработчиков новость важна не только формально: новый стандарт приносит сразу несколько крупных изменений, от рефлексии до встроенных механизмов повышения безопасности памяти , причем часть улучшений заработает уже после простой перекомпиляции существующего кода.
Финальная встреча прошла в Кройдоне, недалеко от Лондона. В обсуждении участвовали около 210 человек из 24 стран: примерно 130 приехали очно, еще 80 подключились удаленно. Комитет не добавлял новые возможности и не вычеркивал старые, а занимался доводкой черновика и разбором 411 комментариев, которые национальные органы прислали после международного голосования по проекту стандарта.
Авторы отчета называют C++26 самым сильным релизом со времен C++11. Главной новинкой стала рефлексия времени компиляции . Язык впервые получает полноценные средства для описания собственной структуры и генерации нового кода на базе такой информации. Внутри сообщества C++ такую возможность уже называют одним из самых глубоких сдвигов в истории языка, сравнимым по значимости с появлением шаблонов.
Не менее заметный блок изменений связан с безопасностью памяти. В C++26 убирают целый класс неопределенного поведения при чтении неинициализированных локальных переменных. Кроме того, стандартная библиотека получает режим усиленной защиты с проверками границ для многих популярных операций над vector, span, string, string_view и рядом других типов. Разработчики подчеркивают, что часть защиты можно получить без переписывания проекта, просто собрав код как C++26.
C++ подошел к самой важной развилке за много лет. Комитет ISO завершил техническую работу над стандартом C++26 , закрыл последние международные замечания и готовит финальный проект к утверждению. Для разработчиков новость важна не только формально: новый стандарт приносит сразу несколько крупных изменений, от рефлексии до встроенных механизмов повышения безопасности памяти , причем часть улучшений заработает уже после простой перекомпиляции существующего кода.
Финальная встреча прошла в Кройдоне, недалеко от Лондона. В обсуждении участвовали около 210 человек из 24 стран: примерно 130 приехали очно, еще 80 подключились удаленно. Комитет не добавлял новые возможности и не вычеркивал старые, а занимался доводкой черновика и разбором 411 комментариев, которые национальные органы прислали после международного голосования по проекту стандарта.
Авторы отчета называют C++26 самым сильным релизом со времен C++11. Главной новинкой стала рефлексия времени компиляции . Язык впервые получает полноценные средства для описания собственной структуры и генерации нового кода на базе такой информации. Внутри сообщества C++ такую возможность уже называют одним из самых глубоких сдвигов в истории языка, сравнимым по значимости с появлением шаблонов.
Не менее заметный блок изменений связан с безопасностью памяти. В C++26 убирают целый класс неопределенного поведения при чтении неинициализированных локальных переменных. Кроме того, стандартная библиотека получает режим усиленной защиты с проверками границ для многих популярных операций над vector, span, string, string_view и рядом других типов. Разработчики подчеркивают, что часть защиты можно получить без переписывания проекта, просто собрав код как C++26.