命名空间
变体
操作

std::allocator_arg, std::allocator_arg_t

来自 cppreference.cn
< cpp‎ | memory
 
 
内存管理库
(仅为解释目的*)
未初始化内存算法
(C++17)
(C++17)
(C++17)
约束的未初始化
内存算法
C 库

分配器
allocator_arg
(C++11)
内存资源
垃圾回收支持
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
未初始化存储
(直到 C++20*)
(直到 C++20*)
显式生命周期管理
 
定义于头文件 <memory>
struct allocator_arg_t { explicit allocator_arg_t() = default; };
(1) (C++11 起)
constexpr std::allocator_arg_t allocator_arg {};
(2) (C++11 起)
(C++17 起内联)
1) std::allocator_arg_t 是一个空类类型,用于消除分配器感知对象的构造函数和成员函数的重载歧义,包括 std::tuple, std::function, std::packaged_task,(until C++17)std::promise
2) std::allocator_arg 是 (1) 的一个实例,可以传递给这些允许类型的构造函数和成员函数。

[编辑] 缺陷报告

以下行为变更缺陷报告被追溯应用到先前发布的 C++ 标准。

DR 应用于 已发布行为 正确行为
LWG 2510 C++11 默认构造函数为非显式的,可能导致歧义 已设为显式

[编辑] 参见

检查指定类型是否支持 uses-allocator 构造
(类模板) [编辑]