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