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

C++11

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

C++11 вторая основная версия C++ и самое важное обновление после C++98. Было внесено большое количество изменений как для стандартизации существующих практик, так и для улучшения абстракций, доступных программистам на C++.

Прежде чем он был окончательно утверждён ISO 12 августа 2011 года, использовалось название 'C++0x', поскольку ожидалось, что он будет опубликован до 2010 года. Между C++03 и C++11 прошло 8 лет, поэтому это самый длинный интервал между версиями. С тех пор и по настоящее время C++ регулярно обновляется каждые 3 года.

В C++11 были объединены следующие функции:

Содержание

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

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

[править] Заголовки

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

[править] Отчёты о дефектах

Исправлены Отчёты о Дефектах в C++11 (ядро 741, библиотека 868)
  1. 1,01,11,2Исправление этих дефектов добавило следующие функции-элементы, но они недоступны в режиме C++98 libstdc++:

[править]Поддержка компиляторами

Основная Статья: Поддержка компиляторами C++

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

Возможность C++11
 
Статья(и)
 
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
HP aCC
Digital Mars C++
C99 препроцессорN16534.3 Да 19.0 (2015)*(частично)*
19.26*
Да 4.1 11.1 5.9 Да 8.4 2015 7.0 A.06.25 Да
static_assertN17204.3 2.9 16.0*Да 4.1 11.0 5.13 Да 8.4 2015 7.0 A.06.25 8.52
Правые угловые скобки N17574.3 Да 14.0*Да 4.1 11.0 5.13 Да 8.4 2015 7.0
Расширенные friend объявленияN17914.7 2.9 16.0* (частично)
18.0*
Да 4.1 11.1*
12.0
5.13 Да 8.4 2015 7.0 A.06.25
longlongN1811Да Да 14.0*Да Да Да Да Да 8.4 2015 7.0 Да Да
Поддержка компилятором свойств типаN18364.3 3.0 14.0*Да 4.0 10.0 5.13 Да 8.4 2015 6.16
autoN19844.4 Да 16.0*Да 3.9 11.0 (v0.9)
12.0
5.13 Да 8.4 2015 7.0 A.06.25
Делегирование конструкторовN19864.7 3.0 18.0*Да 4.7 14.0 5.13 Да 8.4 2015 7.0 A.06.28
внешний шаблонN19873.3 Да 12.0*Да 3.9 9.0 5.13 Да 8.4 2015 7.0 A.06.25
constexprN22354.6 3.1 19.0 (2015)*Да 4.6 13.0*
14.0
5.13 Да 8.4 2015 7.0 A.06.28
Псевдонимы шаблоновN22584.7 3.0 18.0*Да 4.2 12.1 5.13 Да 8.4 2015 7.0 A.06.27
char16_t и char32_tN22494.4 2.9 19.0 (2015)*Да 4.4 12.1*
14.0
5.13 Да 8.4 2015 7.0 A.06.27 8.52
alignasN23414.8 3.0 19.0 (2015)*Да 4.8 15.0 5.13 Да 8.6 2015 7.0
alignofN23414.5 2.9 19.0 (2015)*Да 4.8 15.0 5.13 Да 8.4 2015 7.0
Функции default и delete N23464.4 3.0 18.0*Да 4.1 12.0 5.13 Да 8.4 2015 7.0 A.06.25
Строго типизированный enumN23474.4 2.9 17.0*Да 4.0 13.0 5.13 Да 8.4 2015 7.0 A.06.25
Атомарные операцииN24274.4 3.1 17.0*Да Да 13.0 5.14 Да 8.4 2015
nullptrN24314.6 2.9 16.0*Да 4.2 12.1 5.13 Да 8.4 2015 7.0 A.06.27 8.52
Явные операторы преобразованияN24374.5 3.0 18.0*Да 4.4 13.0 5.13 Да 8.4 2015 7.0 A.06.27
ссылочные квалификаторы N24394.8.1 2.9 19.0 (2015)*Да 4.7 14.0 5.13 Да 8.4 2015 7.0 A.06.28
Строковые литералы Юникода N24424.4 3.0 19.0 (2015)*Да 4.7 11.0*5.7 Да 8.4 2015 7.0 A.06.28 8.52
Сырые строковые литералыN24424.5 Да 18.0*Да 4.7 14.0 5.13 Да 8.4 2015 7.0 A.06.28 8.52
Встроенные пространства имёнN25354.4 2.9 19.0 (2015)*Да 4.5 14.0 5.13 Да 8.4 2015 7.0 A.06.28
Наследование конструкторовN25404.8 3.3 19.0 (2015)*Да 4.8 15.0 5.13 Да 8.4 2015 7.0
Типы возвращаемых значений конечной функцииN25414.4 2.9 16.0*Да 4.1 12.0 5.13 Да 8.4 2015 7.0 A.06.27
Неограниченные объединенияN25444.6 3.0 19.0 (2015)*Да 4.6 14.0*5.13 Да 8.4 2015 7.0 A.06.28
Вариативные шаблоныN2242
N2555
4.3 (N2242)
4.4
2.9 18.0*Да 4.3 (N2242)
4.3
12.1 5.13 Да 8.4 2015 7.0 A.06.27
Выражение SFINAEN26344.4 2.9 19.14*Да 4.2 12.1 Да 8.4 2015 7.0
Локальные и безымянные типы как параметры шаблона N26574.5 2.9 16.0*Да 4.2 12.0 5.13 Да 8.4 2015 7.0 A.06.27
Локальная память потока N26594.4 (частично)
4.8
3.3*16.0* (частично)
19.0 (2015)*
Да 4.8 11.1 (частично)
15.0*
5.9 (частично) Да 8.4 2015 8.52 (частично)
Динамическая инициализация и уничтожение с параллелизмом (магическая статика) N26604.3 2.9 19.0 (2015)*Да Да 11.1*5.13 Да 8.4 2015 A.06.25
Сборка Мусора и Обнаружение Утечек на Основе Доступности (поддержка библиотеки) N2670
Списки инициализаторовN26724.4 3.1 18.0*Да 4.5 13.0 (частично)
14.0
5.13 Да 8.4 2015 7.0 A.06.28
Инициализаторы нестатических элементов данныхN27564.7 3.0 18.0*Да 4.6 14.0 5.13 Да 8.4 2015 7.0 A.06.28
АтрибутыN27614.8 3.3 19.0 (2015)*Да 4.2 12.1 5.13 Да 8.4 2015 7.0 A.06.27
Предобъявления (непрозрачного) enumN27644.6 3.1 17.0*Да 4.5 11.1 (partial)
14.0
5.13 Да 8.4 2015 7.0
Пользовательские литералыN27654.7 3.1 19.0 (2015)*Да 4.8 15.0 5.14 Да 8.4 2015 7.0
Ссылки rvalueN2118
N2844
CWG1138
4.3 (N2118)
4.5
2.9 16.0* (N2844)
17.0*
Да 4.5 11.1 (N2118)
12.0 (N2844)
14.0
5.13 Да 8.4 2015 7.0*A.06.25
Лямбда-выраженияN2550
N2658
N2927
4.5 3.1 16.0* (N2658)
17.0*
Да 4.1 12.0 5.13 Да 8.4 2015 7.0 A.06.25
Диапазонный цикл forN2930
N3271
4.6 3.0 17.0*Да 4.5 13.0 5.13 Да 8.4 2015 7.0 A.06.28
noexceptN30504.6 3.0 19.0 (2015)*Да 4.5 14.0 5.13 Да 8.4 2015 7.0 A.06.28
Специальные функцииэлементы перемещения по умолчанию N30534.6 3.0 19.0 (2015)*Да 4.5 14.0 5.13 Да 8.4 2015 7.0 A.06.25
override и finalN2928
N3206
N3272
4.7 2.9 14.0* (частично)
17.0*
Да 4.8 12.0 (N2928)
14.0
5.13 Да 8.4 2015 7.0
decltypeN2343
N3276
4.3 (N2343)
4.8.1
2.9 16.0*Да 4.2 (N2343)
4.8
11.0 (N2343)
12.0
5.13 Да 8.4 2015 7.0 A.06.25 8.52 (N2343)
C++11 возможность
 
Страница(цы)
 
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
HP aCC
Digital Mars C++

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

C++11 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
Свойства типовN18364.3 3.0 14.0*Да 5.13 Да
Сборка Мусора и Обнаружение Утечек на Основе Доступности (поддержка библиотеки) N26706
(no-op)
3.4
(no-op)
19.0 (2015)*
(no-op)
Да
(no-op)
Денежные, Временные и шестнадцатеричные с плавающей запятой манипуляторы ввода/выводаN2071
N2072
5 3.8 19.0 (2015)*Да 5.15
Запрещение COW (copy-on-write – копирование при записи)строкиN26685 Да Да Да Да
C++11 возможность
 
Страница(цы)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ для AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

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

[править]Внешние ссылки

 Работающие примеры C++11
close