一点一滴成长

导航

随笔分类 -  boost

1 2 下一页

boost-序列化
摘要:序列化、反序列化一个map对象:#include <fstream> #include "boost/archive/binary_oarchive.hpp" #include "boost/archive/binary_iarchive.hpp" #include <boost/serializa 阅读全文

posted @ 2019-08-26 16:41 整鬼专家 阅读(842) 评论(0) 推荐(0)

boost--文件、目录操作
摘要:filesystem库是文件系统操作库,可以使用其中的basic_path类用来操作目录、文件,使用需要包含编译好的system库和filesystem库,我们一般不直接使用basic_path,而是使用typedef : path和wpath。 使用它需要包含"boost/filesystem.h 阅读全文

posted @ 2019-04-23 15:50 整鬼专家 阅读(7222) 评论(0) 推荐(1)

boost--时间处理
摘要:date_time库的时间功能位于名字空间boost::posix_time,它提供了微妙级别(最高可达纳秒)的时间系统,使用需要包含头文件"boost\date_time\posix_time\posix_time.hpp"。 1、时间长度类time_duration 类似日期长度类date_du 阅读全文

posted @ 2018-04-11 17:03 整鬼专家 阅读(10067) 评论(0) 推荐(0)

boost--日期处理
摘要:1、timer 不同于系统函数的timer()一般生成一个定时器,boost中的timer是一个计时器,以秒为单位,最小精度为毫秒,使用需要包含头文件"boost\timer.hpp",下面是它的使用方法: boost::timer t; //对象定义后就开始计时 cout << "max time 阅读全文

posted @ 2018-04-10 17:01 整鬼专家 阅读(1849) 评论(0) 推荐(0)

boost--内存池
摘要:boost的内存池实现了一个快速、紧凑的内存分配和管理器,使用它可以完全不用考虑delete释放问题。常用的boost内存池有pool、object_pool、singleton_pool。 1、pool pool是一个简单的内存池类,它的模板类型通常使用默认的参数,构造函数的参数用来指定每次分配内 阅读全文

posted @ 2018-04-10 16:40 整鬼专家 阅读(2767) 评论(0) 推荐(1)

boost-字符文本处理
摘要:1、lexical_cast 一些常见的数值,字符互转函数: 整型int: itoa()、_itoa_s atoi()、_ttoi 无符号整型unsigned int: _ultoa_s()、_ultot_s strtoul()、_tcstoul 长整型long long: _i64toa_s()、 阅读全文

posted @ 2018-04-09 14:02 整鬼专家 阅读(2264) 评论(0) 推荐(0)

生成随机数
摘要:C语言中生成随机数的方法: #include <time.h> #include <stdlib.h> int main() { srand(time(NULL)); //为rand函数提供种子 printf("%d\n", rand() % 10); //输出一个随机数,范围为0-9 printf 阅读全文

posted @ 2018-03-28 18:00 整鬼专家 阅读(2315) 评论(0) 推荐(0)

C++11--右值引用
摘要:1、左值、右值 左值、右值是表达式的属性,单独一个变量也是表达式,称为变量表达式,它是最简单的表达式,没有运算符,只有一个运算对象。 左值表达式即为返回左值的表达式,他们有:变量表达式、前++(前--)运算、*解引用运算、[]下标运算、返回左值引用类型的函数表达式。 右值表达式即为返回右值的表达式, 阅读全文

posted @ 2018-03-27 13:51 整鬼专家 阅读(484) 评论(0) 推荐(1)

boost--asio
摘要:1、概述 Boost.Asio使用的是Proactor模式,在Windows下通过重叠IO和完成端口实现,在Linux下通过对Reactor模式(如select、epoll、kqueue)的封装来实现了Proactor模式。 Asio中一次IO请求的基本流程:调用IO对象来执行读写等操作,IO对象会 阅读全文

posted @ 2017-10-09 16:07 整鬼专家 阅读(1890) 评论(0) 推荐(0)

boost--线程同步
摘要:1、互斥锁(互斥量) mutex是独占式的互斥锁。timed_mutex增加了超时功能。 成员函数:lock()用于锁定,try_lock()为非阻塞版本的锁定,unlock()用于解锁。timed_lock()只属于timed_mutex,它可以等待一定的时间,等待的时间可以是一个时间段,也可以是 阅读全文

posted @ 2017-09-29 09:28 整鬼专家 阅读(2977) 评论(0) 推荐(0)

boost--线程
摘要:1、thread的使用 boost的thread包含了线程创建、使用、同步等内容,使用thread需要包含头文件"boost\thread.hpp"。 thread中使用了需要编译的thread库,所以还需要添加thread库到项目附加库目录,在linux下链接thread库时还需要使用-lpthr 阅读全文

posted @ 2017-09-29 09:28 整鬼专家 阅读(2021) 评论(0) 推荐(1)

C++11--lambda表达式
摘要:1、综述 lambda表达式是一个匿名函数,它可以在函数内部定义,编译器会将lambda表达式当做一个函数对象。lambda表达式的形式为:[捕获列表] (参数列表) -> 返回类型{ 函数体 },其中“捕获列表”是表达式所在函数中定义的局部变量的列表,可以为空,而且lambda必须使用尾置返回来指 阅读全文

posted @ 2017-09-22 09:22 整鬼专家 阅读(405) 评论(0) 推荐(0)

boost--signal
摘要:1、signals2库 signals2库实现了线程安全的观察者模式,在signals2中观察者模式被称为信号/插槽(signals/slots),它是一种函数回调机制。一个信号可以关联一个或多个插槽,当信号发出时,所有关联它的插槽都会被调用。 signals2位于名字空间boost::signal 阅读全文

posted @ 2017-09-16 20:01 整鬼专家 阅读(2371) 评论(0) 推荐(0)

boost--function
摘要:1、简介 function是一个模板类,它就像一个包装了函数指针的容器(只有一个元素),function对象可以存储函数指针、Lambda表达式、函数对象(比如bind表达式的结果)。function非常适合代替函数指针,存储用于回调的函数,我们完全可以使用function其来代替函数指针。 如下定 阅读全文

posted @ 2017-09-09 20:01 整鬼专家 阅读(653) 评论(0) 推荐(0)

boost--bind
摘要:1、bind1st和bind2end bind1st和bind2end是C++中的函数绑定器,它可以将一个变量绑定至一个二元函数对象,从而获得一个一元函数对象。使用需要包含头文件<functional> 比如我们使用find_if()查找容器中大于100的元素,使用函数和函数对象的方法是如下: bo 阅读全文

posted @ 2017-09-09 15:44 整鬼专家 阅读(1424) 评论(0) 推荐(0)

boost--ref
摘要:1、ref简介 reference_wrapper包含在ref库中,它是引用包装器类型,即其内部包装了引用。 成员函数get()、get_pointer()分别可以获得被包装的引用和其指针。使用需要包含头文件"boost/ref.hpp"。 #include "boost/ref.hpp" #inc 阅读全文

posted @ 2017-09-08 09:48 整鬼专家 阅读(1413) 评论(0) 推荐(1)

boost--BOOST_AUTO、typeof、result_of
摘要:1、BOOST_AUTO BOOST_AUTO的功能类似于auto和any,可以用来定义任意类型数据,且可以在编译时自动推导出表达式的类型。BOOST_AUTO属于boost中的typeof库,使用需要包含"boost/typeof/typeof.hpp"。 当使用BOOST_AUTO用来定义引用类 阅读全文

posted @ 2017-09-08 09:45 整鬼专家 阅读(1558) 评论(0) 推荐(0)

boost-实用工具:noncopyable、optional、assign
摘要:1、noncopyable 让一个类从noncopyable继承可以实现禁止对象的复制,使用需要包含头文件"boost/noncopyable.hpp"或"boost/utility.hpp"。noncopyable实际上是将类的拷贝构造函数和赋值操作符声明为了private来实现禁止对象的赋值。 阅读全文

posted @ 2017-09-04 14:53 整鬼专家 阅读(489) 评论(0) 推荐(0)

boost-智能指针
摘要:使用boost的智能指针需要包含头文件"boost/smart_ptr.hpp",c++11中需要包含头文件<memory> 1、auto_ptr、scoped_ptr、scoped_array ①、auto_ptr是C++标准中的智能指针,在指针退出作用域的时候自动释放指针指向的内存,即使是异常退 阅读全文

posted @ 2017-08-31 18:59 整鬼专家 阅读(611) 评论(0) 推荐(0)

boost-字符编码转换:使用conv
摘要:Windows下的字符集转换可以使用WideCharToMultiByte/ MultiByteToWideChar,Linux下字符集转换可以使用iconv()函数,下面为使用boost的conv来进行字符集转换: 阅读全文

posted @ 2017-08-28 11:16 整鬼专家 阅读(5897) 评论(0) 推荐(0)

1 2 下一页