std::allocator_arg, std::allocator_arg_t
来自 cppreference.cn
定义于头文件 <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 | 默认构造函数为非显式的,可能导致歧义 | 已设为显式 |
[编辑] 参见
(C++11) |
检查指定类型是否支持 uses-allocator 构造 (类模板) |