std::allocation_result
来自 cppreference.com
在头文件 <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
,因此它适合用于 聚合初始化 和 结构化绑定。
内容 |
[编辑] 模板参数
Pointer | - | 通常 std::allocator_traits<Alloc>::pointer,其中 Alloc 是一个 Allocator 类型 |
SizeType | - | 通常 std::allocator_traits<Alloc>::size_type,其中 Alloc 是一个 Allocator 类型 |
[编辑] 数据成员
成员名称 | 定义 |
ptr |
类型为 Pointer 的指针,通常用于 allocate_at_least 分配的存储中第一个元素的地址(公共成员对象) |
count |
类型为 SizeType 的值,通常用于 allocate_at_least 分配的存储中的实际元素数量(公共成员对象) |
[编辑] 注释
Pointer
和 SizeType
默认情况下分别是指向对象类型的指针和 std::make_unsigned_t<std::ptrdiff_t>(几乎总是与 std::size_t 相同)。
功能测试 宏 | 值 | Std | 功能 |
---|---|---|---|
__cpp_lib_allocate_at_least |
202302L | (C++23) | 分配器接口中的大小反馈 |
[编辑] 示例
此部分内容不完整 原因:没有示例 |
[编辑] 另请参阅
(C++23) |
分配至少与请求大小一样大的未初始化存储空间 ( std::allocator<T> 的公共成员函数) |
[静态] (C++23) |
通过分配器分配至少与请求大小一样大的存储空间 ( std::allocator_traits<Alloc> 的公共静态成员函数) |