std::allocation_result
|
在标头
<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
(C++23)
|
常用于 allocate_at_least 所分配的存储中首元素的地址 (公开成员对象) |
count
(C++23)
|
常用于 allocate_at_least 所分配的存储中的实际元素数 (公开成员对象) |
注解
Pointer
与 SizeType
默认分别为指向对象类型的指针与 std::make_unsigned_t<std::ptrdiff_t> (几乎总是与
std::size_t 为同一类型)。
功能特性测试宏 | 值 | 标准 |
---|---|---|
__cpp_lib_allocate_at_least
|
202302L | (C++23) |
示例
本节未完成 原因:暂无示例 |
参阅
(C++23)
|
分配与请求的大小至少一样大的未初始化存储 ( std::allocator<T>
的公开成员函数) |
[静态]
(C++23)
|
经由分配器分配至少与请求的大小一样大的存储 ( std::allocator_traits<Alloc>
的公开静态成员函数) |