C++ 标准库扩展,版本 3
来自cppreference.com
< cpp | experimental
C++ 库基础扩展 (C++ Extensions for Library Fundamentals) 的版本 3 在版本 1 与版本 2 之外为 C++ 标准库定义下列新组件。
并入 C++17/20 的组件以及下列组件在库基础 v3 中被移除:
- std::experimental::make_array、
- std::experimental::erased_type、
- std::experimental::packaged_task 以及
- std::experimental::promise 。
作用域防护
在标头
<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 上。