std::hive
来自cppreference.com
| 在标头 <hive> 定义
|
||
| |
(1) | (C++26 起) |
| |
(2) | (C++26 起) |
1)
std::hive 是一个序列容器,提供常数时间的插入和擦除操作。存储在多个内存块中自动管理,它们称为元素块。插入位置由容器决定,并且插入可能重用已擦除元素的内存位置。
包含元素的元素块称为活动块,不包含元素的元素块称为预留块。变空的活动块要么被解分配,要么成为预留块。预留块在被用于存储元素时成为活动块。用户可以通过调用 reserve() 来创建额外的预留块。
擦除操作使用未指明的常数时间复杂度的技术来定位被擦除元素的内存位置,随后这些位置在迭代时会被跳过,这与在擦除时重新定位后续元素的做法不同。
活动块的容量具有由实现定义的增长因子(不必为整数),例如,一个新活动块的容量可能等于现有活动块容量之和。
用户和实现都可以对元素块的最小和最大元素容量设置限制。
std::hive 满足容器 (Container) 的要求,但运算符 == 和 != 除外。std::hive 也满足可逆容器 (ReversibleContainer) 、知分配器容器 (AllocatorAwareContainer) 以及序列容器 (SequenceContainer) 的部分要求。
| 本节未完成 |