Boost学习笔记
boost的一些学习笔记,记录下来方便以后查看。
苏克贝塔
书上说,天下没有不散的宴席,但书上又说,天涯何处不相逢!
展开
-
vs2019配置boost1.7.0
1.如果选用vs2019开发环境,建议用boost1.7或以上版本,网上有说低于1.7.0的版本可能在vs2019中支持不完善,编译或运行时发生不可预料的bug,但我没有试过。2.下载解压boost1.73.运行路径下的,大概意思初始化个安装环境,双击会3s左右自动退出。C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build4.运行批处理bootstrap.batcd F:\b原创 2020-05-23 14:41:49 · 1620 阅读 · 2 评论 -
Boost库进程通信
1.Boost.Interprocess和Boost.Asio库1)Boost.Interprocess库,它包括众多的类,这些类提供了操作系统相关的进程间通讯接口的抽象层。2)如果同一台计算机不同进程之间通信,虽然也可考虑选择Boost.Asio,但是性能方面不如Boost.Interprocess,因为Boost.Interprocess是使用操作系统的功能优化了同一台计算机不同进程...原创 2019-06-18 09:18:00 · 1205 阅读 · 0 评论 -
Boost库容器
1.Boost.Array1)boost.array和std.vector基本上有相同的操作,只不过boost::array是定长的。2)boost.array可以用=直接赋值#include "pch.h"#include <iostream>#include <boost/array.hpp>#include <boost/shared_ptr...原创 2019-06-17 16:38:20 · 340 阅读 · 0 评论 -
Boost库事件处理
1.Boost.Signals事件,最容易想到的应用场景是在GUI开发中,点击按钮,与之相关联的功能被执行。Boost.Signals可以将一个以上的事件处理器与一个信号关联(和.net 的事件委托差不多)。因此,Boost.Signals可以更好的支持事件驱动的开发。1)connect函数,将信号和事件处理函数相关联。2)要释放某个函数与信号的关联,可以用disconnect函数。...原创 2019-06-17 16:35:58 · 363 阅读 · 0 评论 -
Boost库异步IO
1.Boost.Asio是异步输入输出的核心。异步数据处理就是指,任务触发后不需要等待它们完成。2.异步典型的例子就是网络应用。网络程序中有很多发送接收的函数,这些函数一般分为同步和异步,同步就是发送数据后,需要阻塞等待发送函数是否成功,一般返回成功/失败/超时。如果遇到网络情况不好的时候,这种程序设计效率肯定不高。而异步就是将发送数据分为两步:第一步是开始数据传输,不论成功或是错误,第二步...原创 2019-06-17 16:34:52 · 889 阅读 · 0 评论 -
Boost库智能指针
背景:1998年修订的第一版C++标准只提供了一种智能指针:std::auto_ptr。 它基本上就像是个普通的指针: 通过地址来访问一个动态分配的对象。std::auto_ptr之所以被看作是智能指针,是因为它会在析构的时候调用delete操作符来自动释放所包含的对象。 当然这要求在初始化的时候,传给它一个由new操作符返回的对象的地址。 既然std::auto_ptr的析...原创 2019-06-17 16:25:44 · 228 阅读 · 0 评论