boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。
boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。 有一些库是跨类别包含的,就是既属于这个类别又属于那个类别。
官网:Boost C++ Libraries
一、Boost库简介
Boost是一个功能强大 , 构造精良 , 跨越平台 , 代码开源 , 完全免费的 C ++ 程序库。
共包含 160 余个库 / 组件 , 涵盖字符串与文本处理、容器、迭代器、算法、图像处理、模板元编程、并发编程等多个领域。
由 c ++ 标准委员会成员发起倡议并建立 boost 社区 , C ++11 标准库中三分之二来自 boost , 并且将来还会有更多的库进入 c ++ 标准库 , 因此 boost 是一个 c ++ " 准 " 标准库。
支持现有的所有操作系统。
Boost的发布采用Boost Software License,这是一个不同于GPL和Apache的非常宽松的许可证(许可证相关知识可查看秒懂开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别),该许可证允许库用户将Boost用于任何用途,既鼓励非商业用途,也鼓励商业用途。用户无须支付任何费用,不受任何限制,即可轻松享有Boost的全部功能。
Boost库的大多数组件不需要编译链接,我们在自己的源码里直接包含头文件即可。(注意:包含头文件的时候需要有boost目录,即#include "boost/logic/tribool.hpp",而不能是#include "logic/tribool.hpp")剩下的少量库(如chrono、date_time、program_options、test、thread等)必须编译成静态库或动态库,并在构建时指定链接选项才能使用。
Boost的独特之处:它把C++类的声明和实现放在了一个文件中,而不是分成两个文件,即.h+.cpp,故文件的后缀是.hpp。
C++ | boost库入门_烫青菜的博客-CSDN博客_boost库
在Ubuntu上安装Boost的五种方法(全网最全,建议收藏)_小熊coder的博客-CSDN博客_ubuntu boost
Boost基础篇——安装_黄某某的程序猿之路的博客-CSDN博客_boost安装
boost - 安装boost库时无法找到user_config.jam - Thinbug
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)