版权所有 © 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 入门 说明,那么这已经为您完成了。