这段时间一直在研究公司某项目服务器源码,看到很多的第三方库,果然是c++,其中boost库就是其一,总结下笔记。
1)boost库简介
之前对于STL,Boost的理解都认为是第三方库,别人封装好拿过来用的东西,学玩才明白,STL是c++标准,你下载了vs就能直接用,而boost是c++拓展库,对标准进行了补充,并且可跨平台,需要自己额外到官方下载,配置到项目中才能使用其中的接口。下面附上vs2015+boost库的他人教程链接:
vs2015配置boost库
2)boost中常用的一些子库
数据类型: boost::Any、boost::Variant、boost::Tuple
容器: boost::Array、boost::Bimap、boost::Unorderd、boost::Multiindex
智能指针: shared_ptr、scoped_ptr、weak_ptr
错误处理: boost::system::error_code(同步调用)、boost::asio::placeholder::error(异步调用)
异步输入输出: boost::asio (这个子库在项目中用到的最多,感觉也是最重要的,c++在网络方面的应用,标准库没有,之前有写过的都是基于window的winsock,而boost::asio就填补了这个空缺) 涉及到两个基本概念:I/O服务和I/O对象
字符串处理: boost::Regex 、boost::Format
函数对象: boost::Bind、boost::Lambda
线程管理: boost::Thread
PS: 以上这些是个人根据项目总结的学习重点目录,对于刚开始想学boost又迷茫的可以做个过滤,附上个人推荐链接:
boost官方教程
希望自己能坚持后续的分享,经常打脸 -_-!!