命名空间
变体
操作

std::allocator_arg, std::allocator_arg_t

来自 cppreference.cn
< cpp‎ | 内存
 
 
内存管理库
(仅作说明*)
未初始化内存算法
(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 起为 inline)
1) std::allocator_arg_t 是一个空类类型,用于消除分配器感知对象(包括 std::tuplestd::functionstd::packaged_task(C++17 前)std::promise)的构造函数和成员函数的重载歧义。
2) std::allocator_arg(1) 的一个实例,可以传递给此类允许类型的构造函数和成员函数。

[编辑] 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 发布时的行为 正确的行为
LWG 2510 C++11 默认构造函数不是 explicit 的,可能导致歧义 改为 explicit

[编辑] 参见

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