std::allocation_result
来自 cppreference.cn
| 定义于头文件 <memory> |
||
| template< class Pointer, class SizeType = std::size_t > struct allocation_result; |
(C++23 起) | |
allocation_result 特化由相应 Allocator 类型的 allocate_at_least 成员函数(例如 std::allocator::allocate_at_least)和 std::allocator_traits::allocate_at_least 返回。
allocation_result 的每个特化都没有基类或除 ptr 和 count 之外的声明成员,因此它适用于聚合初始化和结构化绑定。
目录 |
[编辑] 模板参数
| 指针 | - | 通常是 std::allocator_traits<Alloc>::pointer,其中 Alloc 是一个 Allocator 类型 |
| SizeType | - | 通常是 std::allocator_traits<Alloc>::size_type,其中 Alloc 是一个 Allocator 类型 |
[编辑] 数据成员
| 成员名称 (Member name) | 定义 |
| ptr |
类型为 Pointer 的指针,通常用于由 allocate_at_least 分配的存储中第一个元素的地址(公有成员对象) |
| count |
类型为 SizeType 的值,通常用于由 allocate_at_least 分配的存储中元素的实际数量(公有成员对象) |
[编辑] 注解
Pointer 和 SizeType 默认是指向对象类型的指针和 std::make_unsigned_t<std::ptrdiff_t>(几乎总是与 std::size_t 相同)。
| 特性测试宏 | 值 | 标准 | 特性 |
|---|---|---|---|
__cpp_lib_allocate_at_least |
202302L |
(C++23) | Allocator 接口中的大小反馈 |
[编辑] 示例
| 本节不完整 原因:无示例 |
[编辑] 参阅
| (C++23) |
分配至少与请求大小一样大的未初始化存储 ( std::allocator<T> 的公共成员函数) |
| [static] (C++23) |
通过分配器分配至少请求大小的存储空间 ( std::allocator_traits<Alloc> 的公共静态成员函数) |