Espacios de nombres
Variantes
Acciones

C++11

De cppreference.com
< cpp

C++11 es la segunda version mayor de C++ (la anterior es C++98 y la próxima es C++17) y la actualización más importante desde C++98. Se introdujeron un gran número de cambios tanto para estandarizar las prácticas existentes como para mejorar las abstracciones disponibles para los programadores de C++.

Antes que fuera finalmente aprobado por ISO el 12 de agosto de 2011, se usaba el nombre 'C++0x' porque se esperaba que fuera publicado antes de 2010. Tomó ocho años entre C++03 y C++11, así que, hasta ahora, se ha convertido en el intervalo más largo entre dos versiones. Desde entonces C++ se actualiza regularmente cada tres años.

Las siguientes características se fusionaron en C++11:

Contenido

[editar] Características centrales del lenguaje

[editar] Características de la biblioteca

[editar] Archivos de encabezado

[editar] Características de la biblioteca

[editar] Reporte de defectos

Reporte de defectos corregidos en C++11 (741 centrales, 685 biblioteca)

[editar] Soporte de compiladores

Artículo principal: Soporte de compiladores para C++

[editar] Características centrales de C++11

Característica de c++11
 
Ponencia(s)
 
Versión
 
GCC
Clang
MSVC
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Portland Group (PGI)
Nvidia nvcc
HP aCC
Digital Mars C++
Preprocesador de C99 N1653 c++11 4.3 19.0* (parcial)*
19.26*
4.1 11.1 10.1 5.9 8.4 2015 A.06.25
Aserción estática (static_assert) N1720 c++11 4.3 2.9 16.0* 4.1 11.0 11.1 5.13 8.4 2015 A.06.25 8.52
Corchetes angulares N1757 c++11 4.3 14.0* 4.1 11.0 12.1 5.13 8.4 2015
Declaraciones friend extendidas N1791 c++11 4.7 2.9 16.0* (parcial)
18.0*
4.1 11.1*
12.0
11.1 5.13 8.4 2015 A.06.25
long long N1811 c++11 14.0* 8.4 2015
Soporte del compilador para rasgos de tipo N1836 c++11 4.3 3.0 14.0* 4.0 10.0 13.1.3 5.13 8.4 2015 6.16
auto N1984 c++11 4.4 16.0* 3.9 11.0 (v0.9)
12.0
11.1 5.13 8.4 2015 A.06.25
Constructores delegados N1986 c++11 4.7 3.0 18.0* 4.7 14.0 11.1 5.13 8.4 2015 A.06.28
extern template N1987 c++11 3.3 12.0* 3.9 9.0 11.1 5.13 8.4 2015 A.06.25
constexpr N2235 c++11 4.6 3.1 19.0* 4.6 13.0*
14.0
12.1*
13.1
5.13 8.4 2015 A.06.28
Alias de plantillas N2258 c++11 4.7 3.0 18.0* 4.2 12.1 13.1.1* 5.13 8.4 2015 A.06.27
char16_t y char32_t N2249 c++11 4.4 2.9 19.0* 4.4 12.1*
14.0
13.1.1* 5.13 8.4 2015 A.06.27 8.52
alignas N2341 c++11 4.8 3.0 19.0* 4.8 15.0 13.1.2* 5.13 8.6 2015
alignof N2341 c++11 4.5 2.9 19.0* 4.8 15.0 13.1.2* 5.13 8.4 2015
Funciones por defecto y eliminadas N2346 c++11 4.4 3.0 18.0* 4.1 12.0 13.1 5.13 8.4 2015 A.06.25
Enumeraciones con ámbito N2347 c++11 4.4 2.9 17.0* 4.0 13.0 12.1 5.13 8.4 2015 A.06.25
Operaciones atómicas N2427 c++11 4.4 3.1 17.0* 13.0 13.1.2* 5.14 8.4 2015
nullptr N2431 c++11 4.6 2.9 16.0* 4.2 12.1 13.1 5.13 8.4 2015 A.06.27 8.52
Operadores de conversión explícitos N2437 c++11 4.5 3.0 18.0* 4.4 13.0 12.1 5.13 8.4 2015 A.06.27
calificadores-ref N2439 c++11 4.8.1 2.9 19.0* 4.7 14.0 13.1.2* 5.13 8.4 2015 A.06.28
Literales de cadena Unicode N2442 c++11 4.4 3.0 19.0* 4.7 11.0* 10.1*
13.1.1*
5.7 8.4 2015 A.06.28 8.52
Literales de cadena sin formato N2442 c++11 4.5 18.0* 4.7 14.0 13.1.1*, excepto AIX xlC 13.1.3 5.13 8.4 2015 A.06.28 8.52
Espacios de nombre en línea (inline) N2535 c++11 4.4 2.9 19.0* 4.5 14.0 11.1 5.13 8.4 2015 A.06.28
Constructores heredados N2540 c++11 4.8 3.3 19.0* 4.8 15.0 13.1.1* 5.13 8.4 2015
Valores de retorno de función al final N2541 c++11 4.4 2.9 16.0* 4.1 12.0 12.1 5.13 8.4 2015 A.06.27
Uniones irrestringidas N2544 c++11 4.6 3.0 19.0* 4.6 14.0* 13.1.2* 5.13 8.4 2015 A.06.28
Plantillas variádicas N2242
N2555
c++11 4.3 (N2242)
4.4
2.9 18.0* 4.3 (N2242)
4.3
12.1 11.1 (N2242) 5.13 8.4 2015 A.06.27
Expresión SFINAE N2634 c++11 4.4 2.9 19.14* 4.2 12.1 8.4 2015
Tipos locales y sin nombre como parámetros de plantillas N2657 c++11 4.5 2.9 16.0* 4.2 12.0 13.1.2* 5.13 8.4 2015 A.06.27
Almacenamiento local al hilo (thread_local) N2659 c++11 4.4 (parcial)
4.8
3.3* 16.0* (parcial)
19.0*
4.8 11.1 (parcial)
15.0*
10.1 (parcial)*
13.1.2 (parcial)*
5.9 (parcial) 8.4 2015 8.52 (parcial)
Inicialización y destrucción dinámica con concurrencia (estáticas mágicas) N2660 c++11 4.3 2.9 19.0* 11.1* 13.1.2* 5.13 8.4 2015 A.06.25
Recolección de basura y detección de fugas basada en alcance. N2670 c++11
Inicialización de lista N2672 c++11 4.4 3.1 18.0* 4.5 13.0 (parcial)
14.0
13.1.2* 5.13 8.4 2015 A.06.28
Inicialización de datos miembro no estáticos N2756 c++11 4.7 3.0 18.0* 4.6 14.0 13.1.2* 5.13 8.4 2015 A.06.28
Atributos N2761 c++11 4.8 3.3 19.0* 4.2 12.1 13.1.1* 5.13 8.4 2015 A.06.27
Declaraciones enum adelantadas N2764 c++11 4.6 3.1 17.0* 4.5 11.1 (parcial)
14.0
12.1 5.13 8.4 2015
Literales definidos por el usuario N2765 c++11 4.7 3.1 19.0* 4.8 15.0 13.1.2* 5.14 8.4 2015
Referencias rvalue N2118
N2844
CWG1138
c++11 4.3 (N2118)
4.5
2.9 16.0* (N2844)
17.0*
4.5 11.1 (N2118)
12.0 (N2844)
14.0
12.1 5.13 8.4 2015 A.06.25
Expresiones lambda N2550
N2658
N2927
c++11 4.5 3.1 16.0* (N2658)
17.0*
4.1 12.0 13.1.2* 5.13 8.4 2015 A.06.25
Bucle for basado en rango N2930 c++11 4.6 3.0 17.0* 4.5 13.0 13.1.2* 5.13 8.4 2015 A.06.28
noexcept N3050 c++11 4.6 3.0 19.0* 4.5 14.0 13.1.1* 5.13 8.4 2015 A.06.28
Funciones miembro de movimiento especiales N3053 c++11 4.6 3.0 19.0* 4.5 14.0 5.13 8.4 2015 A.06.25
override y final N2928
N3206
N3272
c++11 4.7 2.9 14.0* (parcial)
17.0*
4.8 12.0 (N2928)
14.0
13.1.1* 5.13 8.4 2015
decltype N2343
N3276
c++11 4.3 (N2343)
4.8.1
2.9 16.0* 4.2 (N2343)
4.8
11.0 (N2343)
12.0
11.1 (N2343) 5.13 8.4 2015 A.06.25 8.52 (N2343)


Característica de c++11
 
Ponencia(s)
 
GCC
Clang
MSVC
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Portland Group (PGI)
Nvidia nvcc
HP aCC
Digital Mars C++

[editar] Características de la biblioteca de C++11

Característica de c++11
 
Ponencia(s)
 
GCC libstdc++
Clang libc++
MSVC
Biblioteca Estándar
Apple Clang
Sun/Oracle C++
Biblioteca Estándar
Embarcadero C++ Builder
Biblioteca Estándar
Cray C++
Biblioteca Estándar
Rasgos de tipo N1836 4.3 3.0 14.0* 5.13 8.4
Recolección de basura (GC) y detección de fugas basada en alcance (soporte de biblioteca) N2670 6
(no-op)
3.4
(no-op)
19.0*
(no-op)

(no-op)
Dinero, tiempo y manipuladores de E/S hexfloat N2071
N2072
5 3.8 19.0* 5.15
Característica de c++11
 
Ponencia(s)
 
GCC libstdc++
Clang libc++
MSVC
Biblioteca Estándar
Apple Clang
Sun/Oracle C++
Biblioteca Estándar
Embarcadero C++ Builder
Biblioteca Estándar
Cray C++
Biblioteca Estándar

* - planea sobre el número de versión para ver las notas