std::allocator_arg, std::allocator_arg_t
来自 cppreference.com
在头文件 <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,(直到 C++17) 和 std::promise.[编辑] 缺陷报告
以下行为更改缺陷报告已追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
LWG 2510 | C++11 | 默认构造函数是非显式的,这可能导致歧义 | 改为显式 |
[编辑] 另请参阅
(C++11) |
检查指定类型是否支持使用分配器进行构造 (类模板) |