![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
boost
文章平均质量分 66
vqt5_qt6
从事qt c++开发8年,擅长opencv opengl linux等 昵称即V
展开
-
boost之路 一
boost很强大,有了他,我们开发程序方便了不少,很多都写好的模板直接用,要是自己去写的话就蛋疼了,涉及到很多算法啊,系统接口啊,就很累了,但是boost已经封装好的模板直接调用就可以实现了,所以,开发速度上会提高不少。boost总共有90多个库,以后会更多,学起来就很累 了,但是常用的也就四十多个下面我们来看看是哪些吧简要说明Boost.Any Boost原创 2016-08-29 14:53:35 · 617 阅读 · 0 评论 -
boost编译过程介绍
第一肯定是下载boost压缩文件https://nchc.dl.sourceforge.net/project/boost/boost/1.62.0/boost_1_62_0.zip然后是,解压————然后,打开文件可以看到这样一个批处理文件接着,打开cmd进入该文件的目录下执行这个bootstrap.bat批处理文件执行完之后会生成两个.exe文件,运行b原创 2016-12-12 16:50:41 · 391 阅读 · 0 评论 -
boost学习网站
http://zh.highscore.de/cpp/boost/toc.html原创 2016-08-29 16:11:33 · 484 阅读 · 0 评论 -
boost之路 七 异步输入输出
使用 Boost.Asio 进行异步数据处理的应用程序基于两个概念:I/O 服务和 I/O 对象。 I/O 服务抽象了操作系统的接口,允许第一时间进行异步数据处理,而 I/O 对象则用于初始化特定的操作。 鉴于 Boost.Asio 只提供了一个名为boost::asio::io_service 的类作为 I/O 服务,它针对所支持的每一个操作系统都分别实现了优化的类,另外库中还包含了转载 2016-08-29 15:14:13 · 1006 阅读 · 0 评论 -
boost之路四 事件处理
虽然这个库的名字乍一看好象有点误导,但实际上并非如此。 Boost.Signals 所实现的模式被命名为 '信号至插槽' (signal to slot),它基于以下概念:当对应的信号被发出时,相关联的插槽即被执行。 原则上,你可以把单词 '信号' 和 '插槽' 分别替换为 '事件' 和 '事件处理器'。 不过,由于信号可以在任意给定的时间发出,所以这一概念放弃了 '事件' 的名字。因原创 2016-08-29 15:10:40 · 680 阅读 · 0 评论 -
boost之路 十一 序列化
Boost.Serialization 的主要概念是归档。 归档的文件是相当于序列化的 C++ 对象的一个字节流。 对象可以通过序列化添加到归档文件,相应地也可从归档文件中加载。 为了恢复和之前存储相同的 C++ 对象,需假定数据类型是相同的。下面看一个简单的例子。#include #include int main() { boost::archive::tex转载 2016-08-29 15:17:34 · 3241 阅读 · 0 评论 -
boost之路 十 日期与时间
Boost.DateTime 只支持基于格里历的历法日期,这通常不成问题,因为这是最广泛使用的历法。 如果你与其它国家的某人有个会议,时间在2010年1月5日,你可以期望无需与对方确认这个日期是否基于格里历。格里历是教皇 Gregory XIII 在1582年颁发的。 严格来说,Boost.DateTime 支持由1400年至9999年的历法日期,这意味着它支持1582年以前的日期。转载 2016-08-29 15:16:42 · 2237 阅读 · 0 评论 -
boost之路 十六 类型转换操作符
Boost.Conversion 库由两个文件组成。分别在boost/cast.hpp 文件中定义了 boost::polymorphic_cast 和boost::polymorphic_downcast 这两个类型转换操作符, 在 boost/lexical_cast.hpp 文件中定义了 boost::lexical_cast。boost::polymorphic_c转载 2016-08-29 15:22:03 · 937 阅读 · 0 评论 -
boost之路 十四 数据结构
Boost.Tuple 库提供了一个更一般的版本的std::pair —— boost::tuple 。 不过std::pair 只能储存两个值而已, boost::tuple 则给了我们更多的选择。#include #include #include #include int main() { typedef boost::tuple person;转载 2016-08-29 15:20:11 · 502 阅读 · 0 评论 -
boost之路 十三 容器
库 Boost.Array 在boost/array.hpp 中定义了一个模板类 boost::array 。 通过使用这个类, 你可以创建一个跟 C++ 里传统的数组有着相同属性的容器。 而且,boost::array 还满足了 C++ 中容器的一切需求, 因此, 你可以像操作容器一样方便的操作这个 array。 基本上, 你可以把boost::array 当成 std::v转载 2016-08-29 15:19:16 · 3811 阅读 · 0 评论 -
boost 之路 十二 词法分析器
Backus-Naur 范式,简称 BNF,是一种精确描述规则的语言,被应用于多种技术规范。 例如,众多互联网协议的许多技术规范,称为 RFC,除了文字说明以外,都包含了以 BNF 编写的规则。Boost.Spirit 支持扩展BNF范式(EBNF),可以用比 BNF 更简短的方式来指定规则。 EBNF 的主要优点就是简短,从而写法更简单。请注意,EBNF 有几种不同的变体,它们的转载 2016-08-29 15:18:18 · 1000 阅读 · 0 评论 -
boost之路 九 文件系统
boost::filesystem::path 是 Boost.Filesystem 中的核心类,它表示路径的信息,并提供了处理路径的方法。实际上,boost::filesystem::path 是 boost::filesystem::basic_path 的一个 typedef。 此外还有一个boost::filesystem::wpath 是 boost::filesys转载 2016-08-29 15:15:51 · 442 阅读 · 0 评论 -
boost之路 八 进程间通讯
共享内存通常是进程间通讯最快的形式。 它提供一块在应用程序间共享的内存区域。 一个应用能够在另一个应用读取数据时写数据。这样一块内存区用 Boost.Interprocess 的 boost::interprocess::shared_memory_object 类表示。 为使用这个类,需要包含boost/interprocess/shared_memory_object.hpp转载 2016-08-29 15:14:58 · 2455 阅读 · 0 评论 -
boost之路 六 多线程
在这个库最重要的一个类就是 boost::thread,它是在 boost/thread.hpp 里定义的,用来创建一个新线程。下面的示例来说明如何运用它。#include #include void wait(int seconds) { boost::this_thread::sleep(boost::posix_time::seconds(seconds))转载 2016-08-29 15:12:53 · 475 阅读 · 0 评论 -
boost之路 五 字符串处理
在标准 C++ 中,用于处理字符串的是 std::string 类,它提供很多字符串操作,包括查找指定字符或子串的函数。 尽管std::string 囊括了百余函数,是标准 C++ 中最为臃肿的类之一,然而却并不能满足很多开发者在日常工作中的需要。 例如, Java 和 .Net 提供了可以将字符串转换到大写字母的函数,而std::string 就没有相应的功能。 Boost转载 2016-08-29 15:11:50 · 546 阅读 · 0 评论 -
boost之路三 函数对象
Boost.Bind 是这样的一个库,它简化了由C++标准中的 std::bind1st() 和std::bind2nd() 模板函数所提供的一个机制:将这些函数与几乎不限数量的参数一起使用,就可以得到指定签名的函数。 这种情形的一个最好的例子就是在C++标准中定义的多个不同算法。#include #include #include void print(int i)原创 2016-08-29 15:09:40 · 630 阅读 · 0 评论 -
boost之路 二 智能指针
智能指针的原理基于一个常见的习语叫做 RAII :资源申请即初始化。 智能指针只是这个习语的其中一例——当然是相当重要的一例。 智能指针确保在任何情况下,动态分配的内存都能得到正确释放,从而将开发人员从这项任务中解放了出来。 这包括程序因为异常而中断,原本用于释放内存的代码被跳过的场景。 用一个动态分配的对象的地址来初始化智能指针,在析构的时候释放内存,就确保了这一点。 因为析构函数总是会转载 2016-08-29 15:08:03 · 639 阅读 · 0 评论 -
for_each如何传递多个参数
我们在用vector这个容器的时候是不是经常会用到for_each,然而,很JB锤子的是什么呢,它只能传递一个参数。这就有点局限性了,不过,解决办法总是有的,STL这个标准库和另一个标准库一起用就可以了,那就是BOOST这个标准库,这个库里面有一个函数bind();它的作用就是绑定函数,当然要使用它,前提是先安装boost,这个到处都可以下载,教程也有很多,我前面的文章也有。原创 2016-12-23 10:41:40 · 2609 阅读 · 0 评论