Soporte de compiladores para C++14
De cppreference.com
< cpp | compiler support
Características principales del lenguaje C++14
| Característica de C++14 |
Ponencia(s) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
IBM XLC++ |
Sun/Oracle C++ |
Embarcadero C++ Builder |
Cray |
Portland Group (PGI) |
Nvidia nvcc |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Redacción afinada para conversiones contextuales | [https://wg21.link/N3323 [HTTPS://WG21.LINK/N3323 [1] N3323]] |
4.9 | 3.4 | 18.0* | Sí | 4.9 | 16.0 | 16.1 | 9.0 | 8.6 | ||||
| Literales binarios | [https://wg21.link/N3472 [HTTPS://WG21.LINK/N3472 [2] N3472]] |
4.3 (GNU) 4.9 |
2.9 | 19.0 (2015)* | Sí | 4.10 | 11.0 | 2015 | 9.0 | 8.6 | ||||
| decltype(auto), Deducción de tipo de retorno para funciones normales | [https://wg21.link/N3638 [HTTPS://WG21.LINK/N3638 [3] N3638]] |
4.8 (parcial)* 4.9 |
3.3 (parcial)* 3.4 |
19.0 (2015)* | Sí | 4.9 | 15.0 | 16.1 | 9.0 | 8.6 | ||||
| Capturas de lambdas inicializadas/generalizadas (init-capture) | [https://wg21.link/N3648 [HTTPS://WG21.LINK/N3648 [4] N3648]] |
4.5 (parcial) 4.9 |
3.4 | 19.0 (2015)* | Sí | 4.10 | 15.0 | 16.1 | 9.0 | 8.6 | ||||
| Expresiones lambda genéricas | [https://wg21.link/N3649 [HTTPS://WG21.LINK/N3649 [5] N3649]] |
4.9 | 3.4 | 19.0 (2015)* | Sí | 4.10 | 16.0 | 16.1 | 9.0 | 8.6 | ||||
| Plantillas de variable | [https://wg21.link/N3651 [HTTPS://WG21.LINK/N3651 [6] N3651]] |
5 | 3.4 | 19.0 (Update 2)* | Sí | 4.11 | 17.0 | 17.4 | 9.0 | 8.6 | ||||
| constexpr extendidas | [https://wg21.link/N3652 [HTTPS://WG21.LINK/N3652 [7] N3652]] |
5 | 3.4 | 19.10* | Sí | 4.11 | 17.0 | 17.4 | 9.0 | 8.6 | ||||
| Agregados con inicializadores de miembros (NSDMI) | [https://wg21.link/N3653 [HTTPS://WG21.LINK/N3653 [8] N3653]] |
5 | 3.3 | 19.10* | Sí | 4.9 | 16.0 | 16.1 | 9.0 | 8.6 | ||||
| Omitir/extender asignaciones de memoria | [https://wg21.link/N3664 [HTTPS://WG21.LINK/N3664 [9] N3664]] |
N/A | 3.4 | N/A | Sí | N/A | N/A | 17.4 | N/A | 8.6 | ||||
Atributo [[deprecated]]
|
[https://wg21.link/N3760 [HTTPS://WG21.LINK/N3760 [10] N3760]] |
4.9 | 3.4 | 19.0 (2015)* | Sí | 4.9 | 15.0* 16.0 |
16.1 | 9.0 | 8.6 | ||||
| Desasignación con tamaño | [https://wg21.link/N3778 [HTTPS://WG21.LINK/N3778 [11] N3778]] |
5 | 3.4 | 19.0 (2015)* | Sí | 4.10.1 | 17.0 | 16.1 | 8.6 | |||||
| Comilla sencilla como separador de dígitos | [https://wg21.link/N3781 [HTTPS://WG21.LINK/N3781 [12] N3781]] |
4.9 | 3.4 | 19.0 (2015)* | Sí | 4.10 | 16.0 | 2015 | 9.0 | 8.6 | ||||
| Característica de C++14 |
Ponencia(s) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
IBM XLC++ |
Sun/Oracle C++ |
Embarcadero C++ Builder |
Cray |
Portland Group (PGI) |
Nvidia nvcc |
Características de la biblioteca de C++14
| Característica de C++14 |
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 |
|
|---|---|---|---|---|---|---|---|---|---|
constexpr para <complex>
|
N3302 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| Operadores objetos función] transparentes | N3421 | 4.9 | 3.4 | 18.0* | Sí | 5.15 | 10.3 | 8.6 | |
| std::result_of y SFINAE | N3462 | 5 | Sí | 19.0 (Update 2)* | Sí | 5.15 | 10.3 | 8.6 | |
constexpr para <chrono>
|
N3469 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
constexpr para <array>
|
N3470 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
constexpr para <initializer_list>, <utility> y <tuple>
|
N3471 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::integral_constant mejorado | N3545 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| Literales definidos por el usuario para <chrono> y <string> | N3642 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| Iteradores hacia adelante nulos | N3644 | 5 (parcial) 10 |
3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::quoted | N3654 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::make_unique | N3656 | 4.9 | 3.4 | 18.0* | Sí | 5.15 | 10.3 | 8.6 | |
| Búsqueda asociativa heterogénea | N3657 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::integer_sequence | N3658 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::shared_timed_mutex | N3659 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::exchange | N3668 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
Corregir funciones miembro constexpr sin const
|
N3669 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::get<T>() | N3670 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| std::equal, std::is_permutation, std::mismatch de doble rango | N3671 | 5 | 3.4 | 19.0 (2015)* | Sí | 5.15 | 10.3 | 8.6 | |
| Característica de C++14 |
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 |