Namespaces
Variants

C++11

De es.cppreference.net
< cpp

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

Antes de que fuera finalmente aprobado por la ISO el 12 de agosto de 2011, se utilizó el nombre 'C++0x' porque se esperaba que se publicara antes de 2010. Pasaron 8 años entre C++03 y C++11, por lo que se ha convertido en el intervalo más largo entre versiones hasta ahora. Desde entonces, actualmente, C++ se actualiza cada 3 años regularmente.

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

Características del lenguaje central

Características de la biblioteca

Encabezados

Características de la biblioteca

  • std::all_of, std::any_of, std::none_of,
  • std::find_if_not,
  • std::copy_if, std::copy_n,
  • std::move, std::move_backward,
  • std::random_shuffle, std::shuffle,
  • std::is_partitioned, std::partition_copy, std::partition_point,
  • std::is_sorted, std::is_sorted_until,
  • std::is_heap, std::is_heap_until,
  • std::minmax, std::minmax_element,
  • std::is_permutation,
  • std::iota,
  • std::uninitialized_copy_n
  • :
  • std::begin
  • std::end
  • std::next

Esta sección está incompleta

Informes de defectos corregidos en C++11 (741 núcleo, 868 biblioteca)
  1. ↑ 1.0 1.1 1.2 La resolución de estos defectos agregó las siguientes funciones miembro, pero no están disponibles en el modo C++98 de libstdc++:

Soporte de compiladores

Características del lenguaje central de C++11

Característica de C++11

 
Documento(s)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
HP aCC
Digital Mars C++
Preprocesador C99 N1653 4.3 Sí 19.0 (2015)* (parcial)*
19.26*
Sí 4.1 11.1 2015 7.0 8.4  Sí 17.1.0 1.1.0 10.1 5.9 A.06.25 Sí
static_assert  (FTM)* N1720 4.3 2.9 16.0* Sí 4.1 11.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 5.13 A.06.25 8.52
Corchetes angulares derechos N1757 4.3 Sí 14.0* Sí 4.1 11.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 12.1 5.13
Declaraciones friend extendidas N1791 4.7 2.9 16.0* Sí 4.1 11.1 (parcial)
12.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 5.13 A.06.25
long long N1811 Sí Sí 14.0* Sí Sí Sí 2015 7.0 8.4  Sí 17.1.0 1.1.0 Sí Sí Sí Sí
auto N1984 4.4 Sí 16.0* Sí 3.9 11.0 (parcial)*
12.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 5.13 A.06.25
Constructores delegados  (FTM)* N1986 4.7 3.0 18.0* Sí 4.7 14.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 5.13 A.06.28
extern template N1987 3.3 Sí 12.0* Sí 3.9 9.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 5.13 A.06.25
constexpr  (FTM)* N2235 4.6 3.1 19.0 (2015)* Sí 4.6 13.0 (parcial)
14.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 12.1 (parcial)
13.1
5.13 A.06.28
char16_t y char32_t  (FTM)* N2249 4.4 2.9 19.0 (2015)* Sí 4.4 12.1 (parcial)*
14.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.1* 5.13 A.06.27 8.52
Soporte de compilador para type traits. N2255* N2255
N2984
N3142
4.3 (parcial)*
4.8 (parcial)*
5
3.0 14.0*
(parcial)*
19.0 (2015)*
Sí 4.0 10.0 2015 8.4  Sí 17.1.0 1.1.0 13.1.3 5.13 6.16
Alias de plantilla  (FTM)* N2258 4.7 3.0 18.0* Sí 4.2 12.1 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.1* 5.13 A.06.27
alignas N2341 4.8 3.0 19.0 (2015)* Sí 4.8 15.0 2015 7.0 8.6  Sí 17.1.0 1.1.0 13.1.2* 5.13
alignof N2341 4.5 2.9 19.0 (2015)* Sí 4.8 15.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13
Funciones defaulted y deleted N2346 4.4 3.0 18.0* Sí 4.1 12.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1 5.13 A.06.25
Enumeraciones enum fuertemente tipadas N2347 4.4 2.9 16.0*
(parcial)
17.0* Sí 4.0 13.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 12.1 5.13
A.06.25 Operaciones atómicas N2427 4.4 3.1 17.0* Sí Sí 13.0 2015   8.4 Sí 17.1.0 1.1.0 13.1.2*
5.14 nullptr N2431 4.6 2.9 16.0* Sí 4.2 12.1 2015 7.0   8.4 Sí 17.1.0 1.1.0 13.1 5.13 A.06.27
8.52 Operadores de conversión explícitos N2437 4.5 3.0 18.0* Sí 4.4 13.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 12.1 5.13
A.06.27  ref-qualifiers (FTM) * N2439 4.8.1 2.9 19.0 (2015)* Sí 4.7 14.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 13.1.2* 5.13
A.06.28 Literales de  cadena Unicode (FTM) * N2442 4.4 3.0 19.0 (2015)* Sí 4.7 11.0* 2015 7.0   8.4 Sí 17.1.0 1.1.0
10.1*
13.1.1* 5.7 A.06.28
8.52 Literales de  cadena cruda (FTM) * N2442 4.5 Sí 18.0* Sí 4.7 14.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 13.1.1, excepto AIX xlC 13.1.3* 5.13 A.06.28
8.52 Espacios de nombres inline N2535 4.4 2.9 19.0 (2015)* Sí 4.5 14.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 11.1 5.13
A.06.28  Constructores heredados (FTM) * N2540 4.8 3.3 19.0 (2015)* Sí 4.8 15.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 13.1.1*
5.13 Tipos de retorno de función finales N2541 4.4 2.9 16.0* Sí 4.1 12.0 2015 7.0   8.4 Sí 17.1.0 1.1.0 12.1 5.13
A.06.27 Uniones sin restricciones N2544 4.6 3.0 19.0 (2015)* Sí 4.6 14.0* 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.28
Plantillas variádicas  (FTM)* N2242
N2555
4.3 (parcial)*
4.4
2.9 18.0* Sí 4.3 (parcial)*
4.3
12.1 2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 (parcial)* 5.13 A.06.27
Expresión SFINAE N2634 4.4 2.9 19.14* Sí 4.2 12.1 2015 7.0 8.4  Sí 17.1.0 1.1.0
Tipos locales y anónimos como parámetros de plantilla N2657 4.5 2.9 16.0* Sí 4.2 12.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.27
Almacenamiento local de hilo N2659 4.4 (parcial)
4.8
3.3* 16.0* (parcial)
19.0 (2015)*
Sí 4.8 11.1 (parcial)
15.0*
2015 8.4  Sí 17.1.0 1.1.0 10.1 (parcial)*
13.1.2 (parcial)*
5.9 (parcial) 8.52 (parcial)
Inicialización dinámica y destrucción con concurrencia (statics mágicos)  (FTM)* N2660 4.3 2.9 19.0 (2015)* Sí Sí 11.1* 2015 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.25
Recolección de Basura y Detección de Fugas Basada en Accesibilidad N2670  
Listas de inicializadores  (FTM)* N2672 4.4 3.1 18.0* Sí 4.5 13.0 (parcial)
14.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.28
Inicializadores de miembros de datos no estáticos  (FTM)* N2756 4.7 3.0 18.0* Sí 4.6 14.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.28
Atributos, [[noreturn]]  (FTM)* N2761 4.8 3.3 19.0 (2015)* Sí 4.2 12.1 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.1* 5.13 A.06.27
[[carries_dependency]] N2556
N2643
3.3*   17.1.0*
Declaraciones enumadelantadas (opacas) N2764 4.6 3.1 17.0* Sí 4.5 11.1 (parcial)
14.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 12.1 5.13
Literales definidos por el usuario  (FTM)* N2765 4.7 3.1 19.0 (2015)* Sí 4.8 15.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.14
Referencias a rvalue  (FTM)* N2118
N2844
CWG1138
4.3 (parcial)*
4.5
2.9 16.0* (parcial)*
17.0*
Sí 4.5 11.1 (parcial)*
12.0 (parcial)*
14.0
2015 7.0* 8.4  Sí 17.1.0 1.1.0 12.1 5.13 A.06.25
Expresiones lambda  (FTM)* N2550
N2658
N2927
4.5 3.1 16.0* (parcial)*
17.0*
Sí 4.1 12.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.25
Bucle for basado en rango  (FTM)* N2930
N3271
4.6 3.0 17.0* Sí 4.5 13.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.2* 5.13 A.06.28
noexcept N3050 4.6 3.0 19.0 (2015)* Sí 4.5 14.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.1* 5.13 A.06.28
Funciones miembro especiales de movimiento predeterminadas N3053 4.6 3.0 19.0 (2015)* Sí 4.5 14.0 2015 7.0 8.4  Sí 17.1.0 1.1.0 5.13 A.06.25
override y final N2928
N3206
N3272
4.7 2.9 14.0* (parcial)
17.0*
Sí 4.8 12.0 (parcial)*
14.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 13.1.1* 5.13
decltype  (FTM)* N2343
N3276
4.3 (parcial)*
4.8.1
2.9 16.0* (parcial)*
17.0*
Sí 4.2 (parcial)*
4.8
11.0 (parcial)*
12.0
2015 7.0 8.4  Sí 17.1.0 1.1.0 11.1 (parcial)* 5.13 A.06.25 8.52 (parcial)*
 

Característica de C++11
 

Documento(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
HP aCC
Digital Mars C++

Características de la biblioteca de C++11

Característica de C++11

 
Documento(s)

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
Biblioteca de expresiones regulares N1429 4.9 2.8 Sí Sí  17.1.0
Type traits. N1836* N1836
N2240
N2244
N2255
N2342
N2984
N3142
4.3 (parcial)*
4.8 (parcial)*
5
3.0 14.0*
(parcial)*
19.0 (2015)*
Sí  17.1.0 5.13 Sí
Funciones miembro cbegin, cend, crbegin y crend de contenedores N1913
LWG1192
4.3 (parcial)*
4.5
Sí* 16.0* Sí*  17.1.0
Recolección de Basura y Detección de Fugas Basada en Accesibilidad (soporte de biblioteca) N2670 6
(sin operación)*
3.4
(sin operación)*
19.0 (2015)*
(sin operación)*
Sí
(sin operación)* 
17.1.0
Manipuladores de E/S de dinero, tiempo y hexfloat N2071
N2072
5 3.8 19.0 (2015)* Sí  17.1.0 5.15
Prohibición de COW (copia en escritura) std::basic_string N2668 5 Sí Sí Sí  17.1.0 Sí
 

Característica de C++11
 

Documento(s)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

* - pase el mouse sobre una celda marcada con la estrella * para ver notas emergentes adicionales.
DRnn - el número nn después de "DR" indica la revisión de C++ objetivo a la que se aplica el Informe de Defectos, por ejemplo, DR20 → C++20.

Enlaces externos

1.  C++11 - Wikipedia
2.  Ejemplos funcionales de C++11