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

来自cppreference.com

C++ 库基础扩展 (C++ Extensions for Library Fundamentals) 的版本 3 在版本 1版本 2 之外为 C++ 标准库定义下列新组件。

并入 C++17/20 的组件以及下列组件在库基础 v3 中被移除:

作用域防护

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

特性测试宏

__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 上。