Пространства имён
Варианты
Действия

Поддержка компиляторами C++

Материал из cppreference.com
< cpp


В следующих таблицах представлена поддержка компилятором новых функций C++. К ним относятся принятые поправки к стандарту, а также различные технические спецификации:

Содержание

[править] Примечание

* - наведите курсор на ячейку, отмеченную звёздочкой *, чтобы увидеть дополнительные всплывающие подсказки.
DRnn - число nn после "DR" обозначает целевую ревизию C++, к которой применяется отчёт о дефектах, например, DR20 → C++20.

[править] Возможности C++26

Обратите внимание, что этот список может меняться по мере развития проекта стандарта C++26/2c.

[править] C++26 core language features

Возможность C++26
 
Статья(и)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ для AIX
IBM Open XL C++ для z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (бывшая PGI)*
Nvidia nvcc
Removing UB in lexical process P2621R2
Making non-encodable string literals ill-formed P1854R4
Unevaluated strings P2361R6
Adding @, $, and ` to the basic character set P2558R2
constexpr cast from void* P2738R1
On the ignorability of standard attributes P2552R2
Static storage for braced initializers P2752R2
User-generated static_assert messages P2741R2
A nice placeholder with no name P2169R4


C++26 возможность
 
Страница(цы)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ для AIX
IBM Open XL C++ для z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (бывшая PGI)*
Nvidia nvcc

[править] C++26 library features

C++26 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
Testing for success or failure of <charconv> functions P2497R0
std::text_encoding: text encodings identification P1885R12
Arithmetic overloads of std::to_string and std::to_wstring use std::format P2587R3
Type checking format args P2757R3
Formatting pointers P2510R3
Hashing support for std::chrono value classes P2592R3
Read-copy update (RCU) P2545R4
Hazard pointers P2530R3
ADL-proof std::projected P2538R1
constexpr stable sorting P2562R1
Member visit P2637R3
std::is_within_lifetime in constant evaluation P2641R4
Extending associative containers with the remaining heterogeneous overloads P2363R5
Enabling the use of std::weak_ptr as keys in unordered associative containers P1901R2
Native handles in file streams P1759R6
Interfacing string streams with std::string_view P2495R3
Interfacing std::bitset with std::string_view P2697R1
More constexpr for <cmath> and <complex> P1383R2
Adding the new 2022 SI prefixes on ratios: std::quecto, std::ronto, std::ronna, and std::quetta P2734R0
std::function_ref: type-erased callable reference P0792R14
std::copyable_function P2548R6
std::bind_front, std::bind_back, and std::not_fn to NTTP callables P2714R1
std::submdspan() P2630R4
C++26 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

[править] Возможности C++23

Обратите внимание, что этот список может меняться по мере развития проекта стандарта C++23/2b.

[править] Основные возможности языка C++23

Возможность C++23
 
Статья(и)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ для AIX
IBM Open XL C++ для z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (бывшая PGI)*
Nvidia nvcc
Литеральный суффикс для (знакового) size_t P0330R8 11 13

<span title=" неизвестный номер версии">13.3.0*</span>

Делает () ещё более необязательными для лямбд P1102R2 11 13

<span title=" неизвестный номер версии">13.3.0*</span>

6.3
if consteval P1938R3 12
Удалена Поддержка Сборки Мусора P2186R2 12
Синтаксис Идентификаторов C++, использующий Дополнение Стандарта Юникода 31 P1949R7 14
Разрешить Повторяющиеся Атрибуты P2156R1
Сужение контекстных преобразований в static_assert и constexpr if P1401R5 13 (частично)*
14
Обрезка пробелов перед объединением строк P2223R2
Размещение в памяти членов структуры/класса обязанно соответствовать порядку их объявления P1847R4 Да
Конкатенация строковых литералов разных типов (напр. u8"" и L"") запрещена P2201R1 Да Да Да Да Да Да
Выведение this P0847R7 19.32*
(частично)*
6.3
auto(x) и auto{x} P0849R8
Изменение области видимости конечного возвращаемого типа лямбды P2036R3
#elifdef и #elifndef P2334R1 12 13
Нелитеральные переменные (а также метки и goto) в constexpr функциях P2242R3 12
Взаимосогласованное кодирование символьных литералов P2316R2 Да Да Да
Наборы символов и кодировки P2314R4 Да
Расширенная инструкция инициализации, разрешающее объявление псевдонима P2360R0 12 14
Оператор многомерной индексации, нарп. v[x,y,z] P2128R6
Атрибуты лямбда-выражений P2173R1 9 13
DR: Отсутствуют макросы тестирования функциональностей для основных документов P2493R0 12


C++23 возможность
 
Страница(цы)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ для AIX
IBM Open XL C++ для z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (бывшая PGI)*
Nvidia nvcc

[править] Возможности библиотеки C++23

C++23 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
Библиотека Stacktrace P0881R7 P2301R1
<stdatomic.h> P0943R6 12 19.31*
std::is_scoped_enum P1048R1 11 12
contains() для

basic_string / basic_string_view

P1679R3 11 12
std::to_underlying P1682R3 11 13 19.30*
std::visit для классов, производных от std::variant P2162R2 12 13 19.20**
19.30*
Смягчающие требования для time_point<>::clock P2212R2 Н/Д Н/Д
DR: Условно заимствованные диапазоны P2017R1 19.30*
DR: Восстановление адаптеров входного диапазона и std::counted_iterator P2259R1
Предоставление обратной связи по размеру в интерфейсе Allocator'а P0401R6 19.30*
<spanstream> : строковый поток с буфером на основе std::span P0448R4 19.31*
std::out_ptr(), std::inout_ptr() P1132R8
constexpr type_info::operator==() P1328R1
Конструкторы итераторов пар для std::stack и std::queue P1425R4
Невыводимый контекст для аллокаторов в принципах вывода для контейнеров P1518R2 13
ranges::starts_with() и ranges::ends_with() P1659R3
Запрещение создания std::basic_string и std::basic_string_view из nullptr P2166R1
std::invoke_r() P2136R3 12 19.31*
Диапазонный конструктор для std::basic_string_view P1989R2 11 14 19.30*
Аргументы шаблона по умолчанию для конструктора пересылки для pair P1951R1 12 14 19.30*
Удаление Сборки Мусора и Обнаружения Утечек на Основе Доступности (поддержка библиотеки) P2186R2 12
DR: views::join должен присоединяться ко всем видам диапазонов P2328R1 19.30*
DR: view не требует default_initializable P2325R3
DR: Объекты адаптера диапазона связывают аргументы по значению P2281R1 19.29 (16.10)*
(частично)*
19.31*
DR: constexpr для std::optional и std::variant P2231R1 13 (частично)* 19.31*
DR: Улучшение std::format() P2216R3
DR: views::lazy_split и переработанная split_view P2210R2 19.31*

<--

Псевдоним std::pmr::stacktrace P2301R1

-->

zip: views::zip, views::zip_transform, views::adjacent и views::adjacent_transform P2321R2 15 (частично)*
Гетерогенные перегрузки стирания для ассоциативных контейнеров P2077R3 19.32*
std::byteswap() P1272R4 12 14 19.31*
Печать volatile T* P1147R1 12 14 19.31*
basic_string::resize_and_overwrite P1072R10 12
Одновалентные операции для std::optional P0798R8 12
std::move_only_function P0288R9 12
Добавлена условная noexcept спецификация в std::exchange P2401R0 12 14 19.25*
Требует, чтобы span и basic_string_view были TriviallyCopyable P2251R1 Да Да Да Да
Очистка целочисленных типов P2393R1 19.32*
Уточнение статуса “заголовков C” P2340R1
DR: Исправлен views::istream P2432R1 19.31*
DR: Добавлена поддержка для std::generator подобных типов в std::format P2418R2 19.32*
DR: Что такое view P2415R2 12 14 19.31*
DR: исправление ��бработки локали в форматерах chrono P2372R3
DR: Очистка типов целочисленного класса P2393R1 19.32*
std::expected P0323R12
constexpr for <cmath> and <cstdlib> P0533R9
std::unreachable() P0627R6 15 19.32*
Устаревшие std::aligned_storage и std::aligned_union P1413R3
Свойство типа для обнаружения привязки ссылки к временному объекту P2255R2
constexpr std::unique_ptr P2273R3 19.33*
ranges::to P1206R7
Поддержка каналов для определяемых пользователем адаптеров диапазона P2387R3
ranges::iota, ranges::shift_left и ranges::shift_right P2440R1
views::join_with P2441R2
views::chunk и views::slide P2442R1
views::chunk_by P2443R1 19.33*
C++23 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

[править] Возможности C++20

[править] Основные возможности языка C++20

Возможность C++20
 
Статья(и)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ для AIX
IBM Open XL C++ для z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (бывшая PGI)*
Nvidia nvcc
Разрешает лямбда-захват [=,this] P0409R2 8 6 19.22*

10.0.0*

5.1
__VA_OPT__ P0306R4
P1042R1
8 (частично)*
10 (частично)*
9 19.25*

11.0.3*

5.1
Назначенные инициализаторы P0329R4 4.7 (частично)*
8
3.0 (частично)*
10
19.21* (частично)* 5.1 2021.4
Список параметров шаблона для общих лямбда-выражений P0428R2 8 9 19.22*

11.0.0*

5.1
Инициализаторы элементов по умолчанию для битовых полей P0683R1 8 6 19.25*

10.0.0*

5.1 2021.4
Конструкторы списк�� инициализаторов в выводе аргументов шаблона класса P0702R1 8 6 19.14* Да 5.0 2021.4
Указатели на элементы с квалификацией const& P0704R1 8 6 19.0 (2015)*

10.0.0*

5.1 2021.4
Концепции P0734R0 6
(только TS)
10
10 19.23* (частично)*
19.30*

12.0.0* (частично)

6.1 2021.4 20.11
Лямбды в неоцененных контекстах P0315R4 9 19.28 (16.8)* 2021.4
Оператор трёхстороннего сравнения P0515R3 10 8 (частично)
10
19.20* 5.1 2021.4
DR: Упрощение неявного лямбда-захвата P0588R1 8 19.24* 5.1 2021.4
Операторы инициализации для диапазонного for P0614R1 9 8 19.25*

11.0.0*

6.0 2021.4
Конструктивные и назначаемые лямбды без сохранения состояния по умолчанию P0624R2 9 8 19.22*

10.0.1*

5.1 2021.4
Несоответствие const с конструктором копирования по умолчанию P0641R2 9 8 19.0 (2015)*

10.0.1*

5.1 2021.4 20.7
Проверка доступа по специализациям P0692R1 Да 8 (частично)
14
19.26*

10.0.1* (частично)

5.1 2021.4 20.7
ADL и шаблоны функций, которые не видны P0846R0 9 9 19.21*

11.0.3*

5.1 2021.4 20.7
Менее активная реализация функций constexpr P0859R0 5.2 (частично)*
9
8 19.27* (частично)* 2021.4
Атрибуты [[likely]] и [[unlikely]] P0479R5 9 12 19.26*

13.0.0*

5.1 2021.4 20.7
typename сделан чаще необязательным P0634R3 9 5.1 2021.4
Расширение пакета при захвате лямбда-инициализации P0780R2 9 9 19.22*

11.0.3*

6.1 2021.4
Атрибут [[no_unique_address]] P0840R2 9 9 19.28 (16.9)**

11.0.3*

5.1 2021.4 20.7
Условно Тривиальные Специальные Функции-Элементы P0848R3 10 19.28 (16.8)* 6.1 2021.4
DR: Ослабление правил поиска точек настройки структурных привязок P0961R1 8 8 19.21*

10.0.1*

5.1 2021.4
DR: Ослабление правил поиска точки настройки диапазонного цикла for P0962R1 8 8 5.1 2021.4
DR: Разрешены структурные привязки к доступным элементам P0969R0 8 8 19.21*

10.0.1*

5.1
Уничтожающий оператор delete P0722R3 9 6 19.27*

10.0.0*

6.1
Типы классов в параметрах шаблона не типах P0732R2 9 19.26*(частично)*
19.28 (16.9)*
Исключён неявный захват this через [=] P0806R2 9 7 19.22* 5.1
explicit(bool) P0892R2 9 9 19.24*

11.0.3*

5.1
Интеграция макросов тестирования функциональностей P0941R2 5 3.4 19.15* (частично)
19.20*
Да 5.0
Запрещены агрегаты с конструкторами, объявленными пользователем P1008R1 9 8 19.20*

10.0.1*

5.1
Виртуальная функция constexpr P1064R0 9 9

11.0.3*

5.1
Улучшения согласованности для сравнений P1120R0 10 8 (частично)
10
19.22*

10.0.1* (частично)

5.1
char8_t P0482R6 9 7 19.22*

10.0.0*

5.1
std::is_constant_evaluated() P0595R2 9 9 19.25*

11.0.3*

5.1 19.1
constexpr try-catch блоки P1002R1 9 8 19.25*

10.0.1*

5.1
Немедленные функции (consteval) P1073R3 10 (частично)*
11
11 (частично)
14 (частично)*
19.28 (16.8)**
(частично)
19.29 (16.10)*
5.1
Вложенные встраиваемые пространства имён P1094R2 9 8 19.27*

10.0.1*

5.1
Ещё один подход для ограниченных объявлений P1141R2 10 10 19.26* (частично) 6.1
Целые числа со знаком, это дополнение до двух P1236R1 9 9 Н/Д

11.0.3*

Н/Д
dynamic_cast и полиморфный typeid в константных выражениях P1327R1 10 9

11.0.3*

5.1 20.7
Изменение активного элемента объединения внутри constexpr P1330R0 9 9 19.10*

11.0.3*

5.1
Сопрограммы P0912R5 10 8 (частично) 19.25*
19.28 (16.8)*

10.0.1* (частично)

5.1
Инициализация агрегатов в скобках P0960R3 10 19.28 (16.8)* 5.1
DR: Вывод размера массива из выражения new P1009R2 11 9 19.27*

11.0.3*

5.1
Модули P1103R3 11 (частично) 8 (частично) 19.0 (2015)* (частично)
19.10* (только ТС)
19.28 (16.8)*(частично)

10.0.1* (частично)

Более строгие требования Юникода P1041R4
P1139R2
10 Да 19.0 (2015)* (P1041R4)
19.26* (P1139R2)
Да Н/Д
<=> != == P1185R2 10 10 19.22* 5.1
DR: Явно заданные по умолчанию функции с различными спецификациями исключений P1286R2 10 9 19.28 (16.8)*

11.0.3*

5.1
Лямбда-захват и спецификаторы класса памяти структурных привязок P1091R3
P1381R1
10 8 (частично) 19.11*(P1381R1)
19.24*(P1091R3)

10.0.1* (частично)

5.1
Разрешено преобразование в массивы с неизвестной границей P0388R4 10 19.27* 6.0
Контейнерные операции constexpr P0784R7 10 10 6.0
Устарела поддержка некоторых видов использования volatile P1152R4 10 10 19.27* 6.0
constinit P1143R2 10 10 6.1
Устарел оператор запятой в индексах P1161R3 10 9 19.25*

11.0.3*

6.0
[[nodiscard]] с сообщением P1301R4 10 9 19.25*

11.0.3*

6.0
Тривиальная инициализация по умолчанию в функциях constexpr P1331R2 10 10 19.27* 6.1
Неоценённое объявление asm в функциях constexpr P1668R1 10 10 6.1
использование enum P1099R5 11 13 19.24* 6.3
Синтез трёхстороннего сравнения для указанной категории сравнения P1186R3 11 10 19.24* 6.0
DR: [[nodiscard]] для конструкторов P1771R1 10 9 19.24*

11.0.3*

6.0
Вывод аргументов шаблона класса для шаблонов псевдонимов P1814R0 10 19.27*
Вывод аргументов шаблона класса для агрегатов P1816R0
P2082R1
10(P1816R0)
11(P2082R1)
19.27*(P1816R0)
DR: Неявное перемещение для большего количества локальных объектов и ссылок на rvalue P1825R0 11* 13 19.24* 6.0
Разрешено сравнения по умолчанию по значению P1946R0 10 10 19.25* 6.1
Удалены std::weak_equality и std::strong_equality P1959R0 10 10 19.25* 6.1
Несоответствия с параметрами шаблона, отличными от типа P1907R1 9 19.26* 6.2
DR: Псевдодеструкторы завершают время жизни объекта P0593R6 11 11 Н/Д
DR: Преобразование из T* в bool следует рассматривать как сужение P1957R2 10*
11*
19.27* 6.1


C++20 возможность
 
Страница(цы)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ для AIX
IBM Open XL C++ для z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (бывшая PGI)*
Nvidia nvcc

[править] Возможности библиотеки C++20

C++20 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
std::endian P0463R1 8 7 19.22*

10.0.0*

Расширение std::make_shared() для поддержки массивов P0674R1 12 19.27*
Атомарность с плавающей точкой P0020R6 10 19.22*
Синхронизированная буферизация ostream P0053R7 11 19.29 (16.10)*
constexpr для <algorithm> и <utility> P0202R3 10 8 (частично) 19.26*

10.0.1* (частично)
12.0.5*

Подробнее constexpr для <complex> P0415R1 9 7 (частично) 19.27*

10.0.0* (частично)

std::memory_order сделано перечислением с заданной областью видимости P0439R0 9 9 19.25*

11.0.3*

Проверка префикса и суффикса строки: string(_view) ::starts_with/ends_with P0457R2 9 6 19.21*

10.0.0*

Поддержка библиотеки для operator<=> <compare> P0768R1 10 7 (частично)
Как минимум 12*
19.20* (частично)
19.28 (16.9)*

10.0.0* (частично)

std::remove_cvref P0550R2 9 6 19.20*

10.0.0*

[[nodiscard]] в стандартной библиотеке P0600R1 9 7 (частично) 19.13* (частично)
19.22*

10.0.0* (частично)

Использование std::move в числовых алгоритмах P0616R0 9 19.23*
Утилита для преобразования указателя в сырой указатель P0653R2 8 6 19.22* Да
Атомарные std::shared_ptr и std::weak_ptr P0718R2 12 19.27*
std::span P0122R7 10 7 19.26*

10.0.0*

Календарь и timezone P0355R7 11 (частично)*
13 (частично)*
7 (частично) 19.29 (16.10)*

10.0.0* (частично)

<version> P0754R2 9 7 19.22*

10.0.0*

Сравнение неупорядоченных контейнеров P0809R0 Да Да 16.0* Да
Требования ConstexprIterator P0858R0 9 19.11*
std::basic_string::reserve() не должна сжимать P0966R1 11 8 19.25*

10.0.1*

Атомарное Сравнение и Обмен с Битами Заполнения P0528R3 19.28 (16.8)*
std::atomic_ref P0019R8 10 19.28 (16.8)*
contains() функция-элемент ассоциативных контейнеров P0458R2 9 9 (частично)*
13
19.21*

11.0.3*

DR: Гарантированное исключение копирования для кусочного построения P0475R1 9
std::bit_cast() P0476R2 11 14 19.27*
Целочисленные операции степени двойки P0556R3 P1956R1 9 (P0556R3)
10 (P1956R1)
9 (P0556R3)
12 (P1956R1)
19.25* (P0556R3)*
19.27* (P1956R1)*
19.28 (16.8)*
Улучшение возвращаемого значения алгоритмов, подобных erase P0646R1 9 10 19.21*
std::destroying_delete P0722R3 9 9 19.27*

11.0.3*

std::is_nothrow_convertible P0758R1 9 9 19.23*

11.0.3*

Добавлен std::shift_left/right в <algorithm> P0769R2 10 19.21*
Constexpr для связанных функций std::swap() и swap P0879R0 10 12 (частично)
13
19.26*
std::type_identity P0887R1 9 8 19.21*

10.0.1*

Библиотека концепций P0898R3 10 13 19.23*

12.0.0* (частично)

constexpr операторы сравнения для std::array P1023R0 10 8 19.27*

10.0.1*

std::unwrap_ref_decay и std::unwrap_reference P0318R1 9 8 19.21*

10.0.1*

std::bind_front() P0356R5 9 19.25*
std::reference_wrapper для неполных типов P0357R3 9 8 19.26*

10.0.1*

Исправление operator>>(basic_istream&, CharT*) P0487R1 11 8 19.23*

10.0.1*

Библиотечная поддержка для char8_t P0482R6 9 8 (частично)*
19.22*
Служебные функции для реализации построения с использованием аллокаторов P0591R4 9
DR: std::variant и std::optional должны распространять тривиальность копирования/перемещения P0602R4 8.3 8 19.11*

10.0.1*

Разумный конструктор преобразования std::variant P0608R3 10 9

11.0.3*

Конструкторы перемещения для std::function должны быть noexcept P0771R1 7.2 6 19.22* Да
Предложение Одного Диапазона P0896R4 10 (частично)*
19.29 (16.10)*
Гетерогенный поиск для неупорядоченных контейнеров P0919R3 P1690R1 11 12 19.23* (P0919R3)
19.25* (P1690R1)
<chrono> zero(), min() и max() должны быть noexcept P0972R0 9 8 19.14*

10.0.1*

constexpr в std::pointer_traits P1006R1 9 8 19.26*

10.0.1*

std::assume_aligned() P1007R3 9*
11
19.28 (16.9)*
Создание умного указателя с инициализацией по умолчанию P1020R1
P1973R1
19.28 (16.9)*
Разные constexpr биты P1032R1 10 13 19.28 (16.8)*
Удалены операторы сравнения std::span P1085R2 10 8 19.26*

10.0.1*

Сделано распространение аллокатора с сохранением состояния более согласованным для operator+(basic_string) P1165R1 10 19.26*
Последовательное стирание контейнера (например, std::erase (std::vector), std::erase_if (std::map)) P1209R0 P1115R3 9 (P1209R0)
10 (P1115R3)
8 (P1209R0)
11 (P1115R3)
19.25* (P1209R0)
19.27* (P1115R3)

10.0.1* (P1209R0)

polymorphic_allocator<> как тип словаря P0339R6 9 19.28 (16.9)*
std::execution::unseq P1001R2 9 19.28 (16.8)*
std::lerp() и std::midpoint() P0811R3 9 9 19.23* (частично)
19.28 (16.8)*

11.0.3*

Улучшения удобства использования std::span P1024R3 10 9*
14
19.26*

11.0.3*

DR: Сделано create_directory() интуитивно понятным P1164R1 8.3 12 19.20*
std::ssize() и беззнаковый размер для std::span P1227R2 10 9 19.25*

11.0.3*

Свойства для (не)ограниченных массивов P1357R1 9 9 19.25*

11.0.3*

std::to_array() P0325R4 10 10 19.25*
Эффективный доступ к буферу std::basic_stringbuf P0408R7 11 19.29 (16.10)*
Свойства совместимости размещения и взаимоконвертируемости указателей P0466R5 12 19.29 (16.10)**
Битовые операции P0553R4 9 9 19.25**
19.28 (16.8)*

11.0.3*

Математические константы P0631R8 10 11 19.25*
Форматирование текста P0645R10 14* 19.29 (16.10)*
std::stop_token и std::jthread P0660R10 10 19.28 (16.9)*
constexpr std::allocator и сопутствующие утилиты P0784R7 10 12
constexpr std::string P0980R1 12 19.29 (16.10)*
19.30**


constexpr std::vector P1004R2 12 19.29 (16.10)*
19.30**


Диапазонные адаптеры ввода P1035R7 10
constexpr std::invoke() и сопутствующие утилиты P1065R2 10 12 19.28 (16.8)*
Атомарное ожидание и уведомление, std::counting_semaphore, std::latch и std::barrier P1135R6 11 19.28 (16.8)*
std::source_location P1208R6 11
Добавлен <=> в стандартную библиотеку P1614R2 10 14 (частично)* 19.29 (16.10)*
constexpr конструктор по умолчанию для std::atomic и std::atomic_flag P0883R2 10 13 19.26*
constexpr для числовых алгоритмов P1645R1 10 19.26*
Безопасные целочисленные сравнения P0586R2 10 13 19.27*
C++20 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

[править] Старые стандарты

[править] Ссылки

[править] Смотрите также

Тестирование функциональности (C++20) Набор макросов препроцессора для проверки функциональностей, соответствующих языку C++ и библиотекам.
Документация C по поддержка компилятором