C++11 , C++14 , C++17 , C++20 , C++23 , C++26 │ Поддержка компиляторами C++11 , C++14 , C++17 , C++20 , C++23 , C++26
Язык
Препроцессор − Комментарии Таблица ASCII Основные концепции Ключевые слова Имена ( поиск ) Типы ( фундаментальные типы ) Функция main Модули (C++20) Контракты (C++26) Выражения Категории значений Порядок вычисления Операторы ( приоритет ) Преобразования − Литералы Константные выражения Инструкции if − switch for − range- for (C++11) while − do - while Объявления − Инициализация Функции − Перегрузка Корутины (C++20) Классы ( объединения ) Шаблоны − Исключения Автономные реализации
main
for
do
while
Стандартная библиотека ( заголовки )
Именованные требования
Библиотека поддержки языка
Утилиты программ Сигналы − Нелокальные переходы Базовое управление памятью Функции с переменным числом аргументов source_location (C++20) Утилиты сравнения (C++20) Поддержка типов − type_info numeric_limits − exception initializer_list (C++11) Поддержка корутин (C++20) Поддержка контрактов (C++26)
Библиотека концепций (C++20)
Библиотека диагностики
Утверждения − Системные ошибки (C++11) Типы исключений − Коды ошибок basic_stacktrace (C++23) Поддержка отладки (C++26)
Библиотека управления памятью
Аллокаторы − Умные указатели Ресурсы памяти (C++17)
Библиотека метапрограммирования (C++11)
Признаки типов − ratio integer_sequence (C++14)
Библиотека общих утилит
Функциональные объекты − hash (C++11) Обмен − Операции с типами (C++11) Сравнение целых чисел (C++20) pair − tuple (C++11) optional (C++17) expected (C++23) variant (C++17) − any (C++17) bitset − Манипуляции с битами (C++20)
Библиотека контейнеров
vector − deque − array (C++11) list − forward_list (C++11) inplace_vector (C++26) hive (C++26) map − multimap − set − multiset unordered_map (C++11) unordered_multimap (C++11) unordered_set (C++11) unordered_multiset (C++11) Адаптеры контейнеров span (C++20) − mdspan (C++23)
Библиотека итераторов
Библиотека диапазонов (C++20)
Фабрики диапазонов − Адаптеры диапазонов generator (C++23)
Библиотека алгоритмов
Численные алгоритмы Политики выполнения (C++17) Ограниченные алгоритмы (C++20)
Библиотека строк
basic_string − char_traits basic_string_view (C++17)
Библиотека обработки текста
Примитивные числовые преобразования (C++17) Форматирование (C++20) − Локализация text_encoding (C++26) Регулярные выражения (C++11) basic_regex − Алгоритмы Грамматика регулярных выражений по умолчанию Утилиты для нуль-терминированных последовательностей : байтовые − многобайтовые − широкие
Библиотека численных операций
Общие математические функции Специальные математические функции (C++17) Математические константы (C++20) Алгоритмы линейной алгебры (C++26) Типы с параллельной обработкой данных (SIMD) (C++26) Генерация псевдослучайных чисел Окружение с плавающей точкой (C++11) complex − valarray
Библиотека даты и времени
Календарь (C++20) − Часовой пояс (C++20)
Библиотека ввода-вывода
Функции вывода (C++23) Потоковый ввод-вывод − Манипуляторы ввода-вывода basic_istream − basic_ostream Синхронизированный вывод (C++20) Файловые системы (C++17)
Библиотека поддержки многопоточности (C++11)
thread − jthread (C++20) atomic − atomic_flag atomic_ref (C++20) − memory_order Взаимное исключение − Условные переменные Фьючерсы − Семафоры (C++20) latch (C++20) − barrier (C++20) Безопасное освобождение (C++26)
Библиотека поддержки выполнения (C++26)
Макросы проверки возможностей (C++20)
Язык − Стандартная библиотека − Заголовки
Расширения стандартной библиотеки (library fundamentals TS)
resource_adaptor − invocation_type
Расширения стандартной библиотеки v2 (library fundamentals TS v2)
propagate_const − ostream_joiner − randint observer_ptr − Идиома обнаружения
Расширения стандартной библиотеки v3 (library fundamentals TS v3)
scope_exit − scope_fail − scope_success − unique_resource
Расширения библиотеки параллелизма v2 (parallelism TS v2)
simd
Расширения библиотеки конкурентности (concurrency TS) Транзакционная память (TM TS) Рефлексия (reflection TS)