Namespaces
Variants

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 — Википедия