命名空间
变体
操作

C++ 标准库扩展,版本 3

来自 cppreference.com

C++ 库基础扩展的版本 3,除了在 版本 1版本 2 中定义的那些组件之外,还为 C++ 标准库定义了以下新组件。

合并到 C++17/20 的组件,以及以下在 LFTS v3 中删除的组件

[编辑] 作用域保护

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

[编辑] 特性测试宏

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

[编辑] 注释

__cpp_lib_experimental_memory_resources 的值在 LFTS v3 中已增加,因为 resource_adaptor 的设计是基于 std::pmr::memory_resource 的。