
boost
boost
zzhongcy
因为站在了巨人的肩上,所以我看得更远。
当你发现自己的才华撑不起野心时,就请安静下来学习吧
展开
-
C++ 11: 不可拷贝(noncopyable)类,以及boost::noncopyable介绍
拷贝拷贝是任何一门编程语言都必不可少的操作。在 C++ 里,拷贝有等号拷贝和构造拷贝之分:Foo foo, foo2;Foo foo2 = foo; // 等号拷贝Foo foo3(foo); // 构造拷贝 等号拷贝是显式的,总得有个等号=在那才行。构造拷贝是隐式的,除了上面示例代码里那种直接写出构造函数的情况,在使用以值传递作为参数和以值返回的函数时,都...转载 2018-12-21 17:11:31 · 5270 阅读 · 0 评论 -
boost spirit ——编译器,语法解析器
Spirit 是什么 简单来说,Spirit 是一个 parser generator,功能与 Yacc,ANTLR 类似,且也是基于 EBNF 来描述文法,再基于文法生成 parser,但与前面这些工具相比,它最大的不同点在于它使用了 C++ 代码来对文法进行描述,通过非常残暴的模板编程技巧,在编译阶段就生成了相应的 parser。从使用者的角度来看,文法是用代码进行描述的,因此...转载 2019-05-29 18:07:02 · 3762 阅读 · 0 评论 -
详解boost库中的Message Queue
Message Queue(后文简写成MQ或消息队列)是boost库中用来封装进程间通信的一种实现,同一台机器上的进程或线程可以通过消息队列来进行通迅。消息队列中的消息由优先级、消息长度、消息数据三部分组成。这里需要注意的事,MQ只是简单的将要发送的数据在内存中进行拷贝,所以我们在发送复杂结构或对象时,我们需要将其序列化后再发送,接收端接收时要反序列化,也就是说我们要自己去定义区分一条...转载 2019-05-05 11:36:27 · 5192 阅读 · 0 评论 -
boost::bind 详解
https://zh.cppreference.com/w/cpp/utility/functional/bindhttps://thispointer.com/c11-lambda-how-to-capture-local-variables-inside-lambda/http://www.xumenger.com/cpp-boost-bind-function-20180612/...转载 2018-12-19 14:38:34 · 3328 阅读 · 0 评论 -
boost中asio多线程模型,以及asio网络库多线程并发处理实现
Boost.Asio 有两种支持多线程的方式,第一种方式比较简单:在多线程的场景下,每个线程都持有一个io_service,并且每个线程都调用各自的io_service的run()方法。 另一种支持多线程的方式:全局只分配一个io_service,并且让这个io_service在多个线程之间共享,每个线程都调用全局的io_service的run()方法。每个线程一个 I/O S...转载 2018-12-21 15:37:32 · 9229 阅读 · 0 评论 -
【Boost】boost库asio详解1——strand与io_service区别
namespace{ // strand提供串行执行, 能够保证线程安全, 同时被post或dispatch的方法, 不会被并发的执行. // io_service不能保证线程安全 boost::asio::io_service m_service; boost::asio::strand m_strand(m_service); boost::...转载 2019-02-01 14:57:12 · 2793 阅读 · 1 评论 -
C++学习 boost::optional详解
最近接触到boost::optional,网上查了查,这里学习记录一下!optional: optional库使用"容器"语义,包装了"可能产生无效值"的对象,实现了"未初始化"的概念.#include <boost/optional.hpp>using namespace boost;"无意义"的值: 函数并不总能返回有效的返回值,很多时候函...转载 2019-02-18 15:46:15 · 17029 阅读 · 1 评论 -
boost::lexical_cast 的使用
1,字符串 到 数值类型的转换2,数值 到 字符串的转换3,异常处理情况4,boost::lexical_cast 的原型:template<typename Target, typename Source> Target lexical_cast(Source arg);lexical_cast 是依赖于字符串流 std::stringstream ...转载 2019-02-18 17:37:52 · 1159 阅读 · 0 评论 -
boost::function和boost::bind
http://www.xumenger.com/cpp-boost-bind-function-20180612/boost::functionboost::function是一个函数包装器,也即一个函数模板,可以用来代替拥有相同返回类型,相同参数类型,以及相同参数个数的各个不同的函数#include<boost/function.hpp>#include<ios...转载 2019-02-28 11:05:11 · 4917 阅读 · 0 评论 -
C++ 11:std::auto_ptr介绍,以及boost::scoped_ptr
1 std::auto_ptr1.1 auto_ptr介绍 智能指针能保证,无论在何种情况下,只要自己被摧毁,就一定连带释放其所指资源。auto_ptr是这样的一种指针:它是“它所指向的对象”的拥有者。auto_ptr要求一个对象只能有一个拥有者,严禁一物二主。不再需要delete,也不再需要catch了。不用担心忘掉delete动作,担心程序异常结束时内存遗失或者资源遗失,只...转载 2019-06-24 16:51:30 · 947 阅读 · 0 评论