命名空间
变体
操作

std::allocation_result

来自 cppreference.cn
< cpp‎ | memory
 
 
内存管理库
(仅为阐释目的*)
未初始化内存算法
(C++17)
(C++17)
(C++17)
约束未初始化
内存算法
C 库

分配器
allocation_result
(C++23)
内存资源
垃圾回收支持
(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>
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 的每个特化版本都没有基类或声明的成员,除了 ptrcount,因此它适用于聚合初始化结构化绑定

目录

[编辑] 模板参数

Pointer - 通常为 std::allocator_traits<Alloc>::pointer,其中 AllocAllocator 类型
SizeType - 通常为 std::allocator_traits<Alloc>::size_type,其中 AllocAllocator 类型

[编辑] 数据成员

成员名称 定义
ptr
Pointer 类型的指针,通常用于 allocate_at_least 分配的存储中首个元素的地址
(公共成员对象)
count
SizeType 类型的值,通常用于 allocate_at_least 分配的存储中元素的实际数量
(公共成员对象)

[编辑] 注解

PointerSizeType 分别是指向对象类型的指针和 std::make_unsigned_t<std::ptrdiff_t> (默认情况下几乎总是与 std::size_t 相同)。

特性测试 Std 特性
__cpp_lib_allocate_at_least 202302L (C++23) 分配器接口中的大小反馈

[编辑] 示例

[编辑] 参见

分配至少与请求大小一样大的未初始化存储
(std::allocator<T> 的公共成员函数) [编辑]
[静态] (C++23)
通过分配器分配至少与请求大小一样大的存储
(std::allocator_traits<Alloc> 的公共静态成员函数) [编辑]