命名空间
变体
操作

std::allocation_result

来自 cppreference.cn
< cpp‎ | 内存
 
 
内存管理库
(仅作说明*)
未初始化内存算法
(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 之外的声明成员,因此它适用于聚合初始化结构化绑定

目录

[编辑] 模板参数

指针 - 通常是 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 分配的存储中元素的实际数量
(公有成员对象)

[编辑] 注解

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

特性测试 标准 特性
__cpp_lib_allocate_at_least 202302L (C++23) Allocator 接口中的大小反馈

[编辑] 示例

[编辑] 参阅

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