Namespaces
Variants

C++ standard libraries extensions, version 3

From cppreference.net

La versión 3 de las Extensiones de C++ para Fundamentos de Biblioteca, ISO/IEC TS 19568:2024, define los siguientes componentes nuevos para la biblioteca estándar de C++, además de los definidos en versión 1 y versión 2 .

Componentes fusionados en C++17/20 y los siguientes componentes se eliminan en LFTS v3:

Guardia de ámbito

Definido en el encabezado <experimental/scope>
envuelve un objeto función y lo invoca al salir del ámbito
(plantilla de clase)
envuelve un objeto función y lo invoca al salir del ámbito mediante una excepción
(plantilla de clase)
envuelve un objeto función y lo invoca al salir del ámbito normalmente
(plantilla de clase)
manejador universal de recursos RAII
(plantilla de clase)

Macros de prueba de características

Definido en el encabezado <experimental/memory_resource>
__cpp_lib_experimental_memory_resources
un valor de al menos 201803 indica que resource_adaptor está soportado
(constante macro)
Definido en el encabezado <experimental/functional>
__cpp_lib_experimental_function_polymorphic_allocator
un valor de al menos 202211 indica que std:: pmr :: polymorphic_allocator <> se utiliza para std::experimental::function
(constante macro)
Definido en el encabezado <experimental/scope>
__cpp_lib_experimental_scope
un valor de al menos 201902 indica que los guardas de ámbito están soportados
(constante macro)

Notas

El valor de __cpp_lib_experimental_memory_resources se ha incrementado en LFTS v3, porque el diseño de resource_adaptor se ha reubicado sobre std::pmr::memory_resource .