Namespaces
Variants

C++14

From cppreference.net

C++14 es una versión menor posterior a la versión principal C++11, que presenta principalmente mejoras menores y correcciones de defectos. Su aprobación fue anunciada el 18 de agosto de 2014. Fue lanzada el 15 de diciembre de 2014.

Antes de su aprobación, C++1y se utiliza a veces para indicar su lanzamiento en la década de 2010.

Contenidos

Nuevas características del lenguaje

Nuevas características de la biblioteca

Informes de defectos

Informes de Defectos corregidos en C++14 (276 núcleo, 158 biblioteca)

Soporte del compilador

Características principales del lenguaje C++14

Característica de C++14

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++
Redacción ajustada para conversiones contextuales N3323 4.9 3.4 18.0* 4.9 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Literales binarios ( FTM ) * N3472 4.3*
4.9
2.9 19.0 (2015)* 4.10 11.0 2015 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14
decltype(auto) , Deducción del tipo de retorno para funciones normales  ( FTM ) * ( FTM ) * N3638 4.8 (parcial)*
4.9
3.3 (parcial)*
3.4
19.0 (2015)* 4.9 15.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Capturas lambda inicializadas/generalizadas (init-capture)  ( FTM ) * N3648 4.5 (parcial)
4.9
3.4 19.0 (2015)* 4.10 15.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.15
Expresiones lambda genéricas ( FTM ) * N3649 4.9 3.4 19.0 (2015)* 4.10 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Plantillas de variables ( FTM ) * N3651 5 3.4 19.0 (Update 2)* 4.11 17.0 17.4 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Extendido constexpr ( FTM ) * N3652 5 3.4 19.10* 4.11 17.0 17.4 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Agregados con inicializadores de miembro predeterminados ( FTM ) * N3653 5 3.3 19.10* 4.9 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.14
Omitir/extender memory allocations N3664 N/A 3.4 N/A N/A N/A 17.4 N/A 8.6 10.3 17.1.0 1.1.0 N/A N/A
[[ deprecated ]] atributo N3760 4.9 3.4 19.0 (2015)* 4.9 15.0*
16.0
16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14
Desasignación dimensionada ( FTM ) * N3778 5 3.4 19.0 (2015)* 4.10.1 17.0 16.1 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.14
Comilla simple como separador de dígitos N3781 4.9 3.4 19.0 (2015)* 4.10 16.0 2015 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14


Característica de C++14


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++

Características de la biblioteca C++14

**Cambios realizados:** - "Feature-testing macro" se tradujo como "Macro de prueba de características" - Se mantuvieron todos los términos técnicos de C++ (`std::is_null_pointer`, `__cpp_lib_is_null_pointer`, `DR11`, `LWG2247`, `FTM`) - Se preservaron todas las etiquetas HTML y atributos - No se tradujo el texto dentro de los elementos ` ` que contienen versiones y números **Cambios realizados:** - "Feature-testing macro" → "Macro de prueba de características" - "Yes" → "Sí" - Se preservaron todos los términos de C++ (`std::shared_timed_mutex`, `__cpp_lib_shared_timed_mutex`, `FTM`, `N3891`) - Se mantuvieron intactos todos los tags HTML y atributos - Se conservó el formato original y los números de versión
Característica de C++14

Documento(s)

GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr para <complex> N3302 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Operadores transparentes de objetos función ( FTM ) * N3421 4.9 3.4 18.0* 17.1.0 5.15 10.3
std::result_of y SFINAE ( FTM ) * N3462 5 19.0 (Update 2)* 17.1.0 5.15 10.3
constexpr para <chrono> N3469 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
constexpr para <array> N3470 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
constexpr para <initializer_list> , <utility> y <tuple> N3471 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Mejorado std::integral_constant ( FTM ) * N3545 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Literales definidos por el usuario para <chrono> y <string> ( FTM ) * ( FTM ) * N3642 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Iteradores forward nulos ( FTM ) * N3644 5 (parcial)
10
3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::quoted ( FTM ) * N3654 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::make_unique ( FTM ) * N3656 4.9 3.4 18.0* 17.1.0 5.15 10.3
Búsqueda asociativa heterogénea  ( FTM ) * N3657 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::integer_sequence ( FTM ) * N3658 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::shared_timed_mutex N3659 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::exchange ( FTM ) * N3668 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Corrigiendo funciones miembro constexpr sin const N3669 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Accediendo a tuplas por tipo: std::get<T>() ( FTM ) * N3670 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Dual-Range std::equal , std::is_permutation , std::mismatch ( FTM ) * N3671 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
Alias templates para rasgos de transformación ( FTM ) * N3655 4.9 3.4 18.0*
Literales Definidos por el Usuario para std::complex ( FTM ) * N3779 4.9 3.4 19.0 (2015)*
DR11: std::is_null_pointer ( FTM ) * LWG2247 4.9 3.4 19.0 (2015)*
std::is_final ( FTM ) * LWG2112 5 3.4 19.0 (2015)*
std::make_reverse_iterator ( FTM ) * LWG2285 5 3.4 19.0 (2015)*
std::shared_timed_mutex ( FTM ) * N3891 4.9 3.5 19.0 (2015)*
std::tuple_element_t ( FTM ) * N3887 4.10 3.5 19.0 (2015)*


Característica de C++14


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 cursor sobre una celda marcada con el asterisco * para ver notas emergentes adicionales.
DR nn - el número nn después de "DR" denota la revisión de C++ objetivo a la que se aplica el Informe de Defectos, por ejemplo, DR20 → C++20.

Enlaces externos

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