版权所有 © 2009-2018 Ion Gaztanaga
根据 Boost 软件许可协议 1.0 版发布。(请参阅随附的 LICENSE_1_0.txt 文件或复制 https://boost.ac.cn/LICENSE_1_0.txt)
目录
Boost.Container 库实现了几个众所周知的容器,包括 STL 容器。该库的目标是为不符合最新 C++ 标准的编译器提供标准容器中不存在的高级特性或最新的标准草案特性。
简而言之,Boost.Container 提供什么?
flat_map
、flat_set
、flat_multimap
和 flat_multiset
:标准关联容器的直接替代品,但内存更友好且搜索速度更快。stable_vector
:std::list 和 std::vector 的混合容器:类似向量的随机访问迭代器和类似列表的迭代器在插入和删除操作中的稳定性。static_vector
:一个类似向量的容器,在内部嵌入(静态分配)所有需要的内存,直到最大容量。最大容量无法增加,并且在编译时指定。small_vector
:一个类似向量的容器,在内部嵌入(静态分配)最小的内存量,但是当容量必须增加时,会动态分配元素。此最小容量在编译时指定。devector
:是标准 vector 和 deque 容器的混合体。它在前端和后端都提供廉价的(摊销的常量时间)插入。slist
:经典的预标准单链表实现,提供常量时间 size()
。请注意,C++11 forward_list
没有 size()
。无需编译 Boost.Container,因为它是一个仅包含头文件的库,只需将你的 Boost 头文件目录包含在编译器包含路径中 除非你使用
这些例外情况被实现为一个单独编译的库,因此在这些情况下,你必须将二进制文件安装到链接器可以找到的位置。如果你遵循了Boost 入门 说明,那么这已经为你完成了。