Namespaces
Variants

C++ standard libraries extensions, version 3

From cppreference.net

C++ 库基础扩展第三版,ISO/IEC TS 19568:2024,除 第一版 第二版 定义的组件外,还为 C++ 标准库定义了以下新组件。

已并入 C++17/20 的组件以及以下组件已在 LFTS v3 中移除:

Scope guard

定义于头文件 <experimental/scope>
包装函数对象并在退出作用域时调用它
(类模板)
包装函数对象并在通过异常退出作用域时调用它
(类模板)
包装函数对象并在正常退出作用域时调用它
(类模板)
通用RAII资源句柄包装器
(类模板)

功能测试宏

__cpp_lib_experimental_memory_resources
值至少为 201803 表示支持 resource_adaptor
(宏常量)
定义于头文件 <experimental/functional>
__cpp_lib_experimental_function_polymorphic_allocator
值至少为 202211 表示 std::experimental::function 使用 std:: pmr :: polymorphic_allocator <>
(宏常量)
定义于头文件 <experimental/scope>
__cpp_lib_experimental_scope
值至少为 201902 表示支持作用域守卫
(宏常量)

注释

在 LFTS v3 中, __cpp_lib_experimental_memory_resources 的值已被提升,因为 resource_adaptor 的设计已基于 std::pmr::memory_resource 进行了重构。