C++29
С ru.cppreference.net
< cpp
Следующее поколение стандарта C++.
Текущий график IS для C++29: P1000R8 (2026-04-13).
| Этот раздел неполон |
Новые возможности языка
Новые возможности библиотеки
Новые модули
Новые заголовки
| Этот раздел неполон |
Устаревшие возможности
Удалённые возможности
| Этот раздел неполон |
Устаревшие возможности (deprecated)
| Этот раздел неполон |
Отчёты о дефектах
Поддержка компиляторов
Основная статья: Поддержка компиляторов C++29
Возможности ядра языка C++29
| Возможность C++29 |
Документ(ы) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
|
|---|---|---|---|---|---|---|---|---|---|---|---|
#embedпараметр смещения (FTM)*
|
P3540R3 | ||||||||||
| Контракты для виртуальных функций (FTM)* | P3097R3 | ||||||||||
| Индексация пакетов для шаблонов (FTM)* | P3670R4 | ||||||||||
| Именованные инициализаторы для базовых классов (FTM)* | P2287R6 | ||||||||||
| Функции освобождения с выбрасывающей спецификацией исключений являются некорректными | P3424R2 | ||||||||||
| Условные спецификаторы noexcept в составных требованиях (FTM)* | P3822R2 | ||||||||||
| Определение по умолчанию функций операторов постфиксного инкремента и декремента | P3668R4 | ||||||||||
| Добавление ограничений для функций операторов присваивания, определённых по умолчанию | P2953R5 | ||||||||||
| DR26: только consteval-значения (FTM)* | P4101R1 | ||||||||||
| DR23: Разрешение фигментов и сокращений в именованных универсальных символьных экранированиях | P3733R1 | ||||||||||
| DR20: Устранение взаимной исключительности для функций возврата сопрограммного обещания (FTM)* | P3950R1 | ||||||||||
| DR: Корректировка идентификатора в соответствии с новыми рекомендациями Unicode | P3658R1 | ||||||||||
| DR: Явный захват лямбды объявляется и инициализируется в лексическом порядке | P3847R1 | 3.1 | |||||||||
| DR: Разрешение языковой привязки C для шаблонов | P2243R0 | ||||||||||
| DR: Уточнение поведения переполнения с плавающей запятой | P3899R3 | ||||||||||
| DR: Недетерминированное происхождение указателей | P2434R5 | ||||||||||
| DR: Разрешение обнуления времени жизни указателя для атомарных и энергозависимых обращений | P2414R12 | ||||||||||
| DR: Определение операций загрузки и сохранения для невалидных указателей | P3347R6 | ||||||||||
| Возможность C++29 |
Документ(ы) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
Библиотечные возможности C++29
| Возможность C++29 |
Документ(ы) |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
|
|---|---|---|---|---|---|---|
| Улучшенная функция поиска для контейнеров map (FTM)* | P3091R6 | |||||
| Тегирование указателей (FTM)* | P3125R6 | |||||
| Атрибуты потоков (FTM)* | P2019R9 | |||||
| Пакеты hazard pointer (FTM)* | P3428R4 | |||||
| Перестановки битов (FTM)* (FTM)* | P3104R6 P3772R2 |
|||||
| std::shl и std::shr (FTM)* (FTM)* | P3793R2 | |||||
| std::mdspan операции копирования и заполнения (FTM)* | P3242R4 | |||||
| std::simd::iota (FTM)* | P3319R6 | |||||
| std::expected::has_error() (FTM)* | P3798R1 | |||||
| view_interface::at() (FTM)* | P3052R2 | |||||
| std::formatter<std::error_code> | P3395R6 | |||||
| Исправление представления чисел с плавающей запятой по умолчанию в std::to_chars (FTM)* | P3505R4 | |||||
| Обязательное наличие std::intptr_t и std::uintptr_t | P3248R5 | |||||
| Устаревание знаковых символьных типов в потоках ввода-вывода | P3154R3 | |||||
| DR26: Отмена поддержки строковых литералов в std::constant_wrapper (FTM)* | P4206R0 | 17 | ||||
| Возможность C++29 |
Документ(ы) |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
* — наведите курсор на ячейку, отмеченную звездочкой *, чтобы увидеть дополнительные всплывающие примечания.
DRnn — число nn после «DR» обозначает целевую версию C++, к которой применяется отчёт о дефекте, например, DR20 → C++20.
Внешние ссылки
| 1. | C++29 — Википедия |