Обзор изменений в стандарте C++29 после встречи в Брно
Х@habr_comмедиа / агрегатор
1 недОбзор новых возможностей C++29: улучшение std::to_chars, метод lookup для контейнеров, упрощение операторов и реорганизация описания неопределенного поведения.
Стандарт C++29 делает язык более предсказуемым и удобным для повседневной разработки.
- Улучшенное форматирование чисел повышает консистентность вывода данных.
- Новый метод lookup упрощает работу с ассоциативными контейнерами, сокращая объем шаблонного кода.
- Упрощение документации по неопределенному поведению снижает порог вхождения для разработчиков.
- Автоматизация boilerplate-кода для операторов итераторов ускоряет написание стандартных компонентов.
C++29 — начало. Встреча ISO C++ в Брно
Число 120000.0 форматировалось как «120000», а 100000.0 внезапно как «1e+05». Два похожих числа выводились по-разному, потому что под механизмом std::to_chars старался выдать максимально короткую строку. В C++29 это чинят, заодно поведение приблизили к Python и выгадали 15% производительности. Рядом другая знакомая боль, когда «верни значение по ключу или дефолт» разворачивается в несколько строк с итераторами. Теперь у ассоциативных контейнеров есть метод lookup, и всё схлопывается в cache.lookup(key).value_or(42).
Заодно всё неопределённое поведение наконец собрали в отдельные секции стандарта, написанные для нормальных людей, а не для экспертов по языку описания стандарта. А постфиксным операторам ++ и — разрешили писать = default, чтобы не копировать один и тот же boilerplate в каждом итераторе. И это лишь часть того, что привезли с одной встречи комитета.
Узнаем, что ещё меняется в C++ на пути к C++29.

Кратко (AI)
На встрече комитета ISO C++ в Брно были анонсированы изменения для будущего стандарта C++29. Среди ключевых нововведений: исправление форматирования чисел в std::to_chars, появление метода lookup для ассоциативных контейнеров, возможность использования = default для операторов инкремента и декремента, а также упрощение документации по неопределенному поведению.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖