Espacios de nombres
Variantes
Acciones

Apoyo de compiladores para C++23

De cppreference.com

[editar] Características principales del lenguaje C++23

Característica de C++23
 
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
Sufijo de literal para size_t (con signo) P0330R8 11 13
Hacer () más opcional para lambdas P1102R2 11 13 6.3
if consteval P1938R3 12 14 6.3
Eliminar apoyo para recolección de basura P2186R2 12
ID: Sintaxis de identificador de C++ usando el estándar Unicode anexo 31 P1949R7 12 14
ID: Admitir atributos duplicados P2156R1 11 13
Conversiones contextuales estrechantes en static_assert y constexpr if P1401R5 9 13 (parcial)*
14
Recorte de espacios en blanco antes del empalme de línea P2223R2
Hacer obligatorio la distribución del orden de declaración P1847R4
Eliminar el modo mezclado de la concatenación de literales de cadena P2201R1
Deducir P0847R7 6.3
auto(x) y auto{x} P0849R8 12
Cambiar ámbito del tipo de retorno al final de las lambdas P2036R3
#elifdef y #elifndef P2334R1 12 13
Variables no literal (y etiquetas y gotos) en las funciones constexpr P2242R3 12 6.3
Codificación consistente de literales de carácter P2316R2
Juegos de caracteres y codificaciones P2314R4
Extender la instrucción de inicialización para admitir la declaración de alias P2360R0 12 14
Operador de índice/subíndice multidimensional P2128R6 12
Característica de C++23
 
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

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

Característica de C++23
 
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
Biblioteca de listado de pila P0881R7 P2301R1
<stdatomic.h> P0943R6 19.31*
std::is_scoped_enum P1048R1 11 12 19.30*
basic_string::contains(), basic_string_view::contains() P1679R3 11 12 19.30*
std::to_underlying P1682R3 11 13 19.30*
Relajar los requerimientos para time_point<>::clock P2212R2 N/A N/A
ID: std::visit() para clases derivadas de std::variant P2162R2 12 13 19.20**
19.30*
ID: Rangos prestados condicionalmente P2017R1 11 19.30*
ID: Reparación de los adaptadores de rangos de entrada y std::counted_iterator P2259R1 12 19.30*(parcial)*
19.31*
Proporcionar retralimentación del tamaño en la interfaz de Allocator P0401R6 19.30*
<spanstream> : string-stream con un búfer basado en std::span P0448R4 12 19.31*
std::out_ptr(), std::inout_ptr() P1132R8 19.30*
constexpr type_info::operator==() P1328R1 12
Constructores con un par de iteradores para std::stack y std::queue P1425R4 12 14 19.31*
Contextos de no-deducción para asignadores de memoria en las guías de deducción de los contenedores P1518R2 13 19.31*
ranges::starts_with() y ranges::ends_with() P1659R3 12
Prohibición de la construcción de std::basic_string y std::basic_string_view a partir de nullptr P2166R1 12 13 19.30*
std::invoke_r() P2136R3 12 19.31*
Constructor de rango para std::basic_string_view P1989R2 11 14 19.30*
Argumentos de plantilla por defecto para el constructor de reenvío de pair P1951R1 12 14 19.30*
Eliminar recolección de basura y detección de fugas basada en alcance (apoyo de la biblioteca) P2186R2 12 14 19.30*
ID: join_view debería unir todas las vistas de los rangos P2328R1 11.2 19.30*
ID: view no requiere default_initializable P2325R3 12 19.30*
ID: Los objetos de adaptador de rango vinculan los argumentos por valor P2281R1 11 19.29 (16.10)*
(parcial)*
19.31*
ID: constexpr para std::optional y std::variant P2231R1 12 13 (parcial)* 19.31*
ID: Mejoras a std::format() P2216R3 14 (parcial)* 19.32*
ID: lazy_split_view y rediseño de split_view P2210R2 12 19.31*
zip P2321R2
Sobrecargas de borrado heterogéneo para contenedores asociativos P2077R3 19.32*
std::byteswap() P1272R4 12 14 19.31*
Imprimir volatile T* P1147R1 12 14 19.31*
basic_string::resize_and_overwrite() P1072R10 12 14 19.31*
Operaciones monádicas para std::optional P0798R8 12 14 19.32*
std::move_only_function P0288R9 12 19.32*
Añadir una especificación noexcept condicional a std::exchange P2401R0 12 14 19.25*
Requerir que span y basic_string_view sean TriviallyCopyable P2251R1
Clarificar el estado de los “encabezados de C” P2340R1
ID: Corregir ranges::istream_view P2432R1 12 19.31*
ID: Añadir apoyo para los tipos formateables no const a std::format P2418R2
ID: Qué es una vista (view) P2415R2 14 19.31*
ID: Corregir el manejo de la configuración regional en los formateadores de chrono P2372R3 19.31*
ID: Limpieza de los tipos enteros P2393R1
Característica de C++23
 
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