Soporte de compiladores para C++29
De es.cppreference.net
* - pase el cursor sobre una celda marcada con la estrella * para ver notas emergentes adicionales.
DRnn - el número nn después de "DR" denota la revisión de C++ objetivo a la que se aplica el Informe de Defecto, p.ej., DR20 → C++20.
Características del lenguaje central C++29
| Característica de C++29 |
Documento(s) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
|
|---|---|---|---|---|---|---|---|---|---|---|---|
#embedparámetro de desplazamiento (FTM)*
|
P3540R3 | ||||||||||
| Contratos para funciones virtuales (FTM)* | P3097R3 | ||||||||||
| Indexación de paquetes para plantillas (FTM)* | P3670R4 | ||||||||||
| Inicializadores designados para clases base (FTM)* | P2287R6 | ||||||||||
| Las funciones de desasignación con especificación de excepción lanzante son mal formadas | P3424R2 | ||||||||||
| Especificadores noexcept condicionales en requisitos compuestos (FTM)* | P3822R2 | ||||||||||
| Predeterminación de funciones de operador de incremento y decremento postfijo | P3668R4 | ||||||||||
| Añadiendo restricciones a funciones de operador de asignación predeterminado | P2953R5 | ||||||||||
| DR26: valores solo consteval (FTM)* | P4101R1 | ||||||||||
| DR23: Permitir figment y abreviatura en escapes de caracteres universales nombrados | P3733R1 | ||||||||||
| DR20: Eliminar la exclusividad mutua para funciones de retorno de promesa de corrutina (FTM)* | P3950R1 | ||||||||||
| DR: Ajuste de identificador siguiendo nuevas recomendaciones Unicode | P3658R1 | ||||||||||
| DR: La captura explícita de lambda se declara e inicializa en orden léxico | P3847R1 | 3.1 | |||||||||
| DR: Permitir enlace de lenguaje C para plantillas | P2243R0 | ||||||||||
| DR: Aclarar el comportamiento del desbordamiento de punto flotante | P3899R3 | ||||||||||
| DR: Procedencia no determinista de punteros | P2434R5 | ||||||||||
| DR: Resolver la anulación de fin de vida útil de puntero para accesos atómicos y volátiles | P2414R12 | ||||||||||
| DR: Definir operaciones de carga y almacenamiento para punteros inválidos | P3347R6 | ||||||||||
| Característica de C++29 |
Documento(s) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
Características de la biblioteca C++29
| Característica de C++29 |
Documento(s) |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
|
|---|---|---|---|---|---|---|
| Mejor función de búsqueda para contenedores map (FTM)* | P3091R6 | |||||
| Etiquetado de punteros (FTM)* | P3125R6 | |||||
| Atributos de hilo (FTM)* | P2019R9 | |||||
| Lotes de punteros hazard (FTM)* | P3428R4 | |||||
| Permutaciones de bits (FTM)* (FTM)* | P3104R6 P3772R2 |
|||||
| std::shl y std::shr (FTM)* (FTM)* | P3793R2 | |||||
| Operaciones de copia y llenado de std::mdspan (FTM)* | P3242R4 | |||||
| std::simd::iota (FTM)* | P3319R6 | |||||
| std::expected::has_error() (FTM)* | P3798R1 | |||||
| view_interface::at() (FTM)* | P3052R2 | |||||
| std::formatter<std::error_code> | P3395R6 | |||||
| Corrección de la representación de punto flotante predeterminada en std::to_chars (FTM)* | P3505R4 | |||||
| Requerir std::intptr_t y std::uintptr_t | P3248R5 | |||||
| Deprecación de tipos de caracteres con signo en flujos de E/S | P3154R3 | |||||
| DR26: Revertir el soporte de literales de cadena en std::constant_wrapper (FTM)* | P4206R0 | 17 | ||||
| Característica de C++29 |
Documento(s) |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |