版权所有 © 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 的混合容器:类似 vector 的随机访问迭代器,以及类似 list 的插入和删除迭代器稳定性。static_vector
:一种类似 vector 的容器,它在内部嵌入(静态分配)高达最大容量所需的所有内存。最大容量不能增加,并且在编译时指定。small_vector
:一种类似 vector 的容器,它在内部嵌入(静态分配)最少量的内存,但在容量需要增加时动态分配元素。此最小容量在编译时指定。devector
:是标准 vector 和 deque 容器的混合体。它在前端和后端都提供廉价(摊销常数时间)的插入。slist
:经典的预标准单链表实现,提供常数时间的 size()
。请注意,C++11 的 forward_list
没有 size()
。无需编译 Boost.Container,因为它是一个仅头文件库,只需将 Boost 头文件目录添加到编译器的包含路径中,除非您使用:
这些例外情况被实现为一个单独编译的库,因此在这种情况下,您必须将二进制文件安装在链接器可以找到的位置。如果您遵循 Boost 入门 说明,那么您已经完成了。