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> 的公共静态成员函数) |