boost thread pool的pool 库 怎么样

boost准模板库内存管理中pool和object_pool的使用 - 推酷
boost准模板库内存管理中pool和object_pool的使用
首先,在写程序之前,必须修改一个问题,要不然,无法链接:
&boost安装目录:D:\boost。
& & &&找到D:\boost\boost_1_55_0\include\boost-1_53\boost\system\error_code.hpp。
在error_code.hpp文件开头添加宏定义:#define BOOST_ERROR_CODE_HEADER_ONLY。
然后,下面就是我们的pool的示例:
#define BOOST_ALL_NO_LIB
#include&boost/pool/object_pool.hpp&
#include&iostream&
//object_pool继承pool,但是是保护继承,有些操作类似,单有些pool的接口无法使用
class demo_class
int a,b,c;
demo_class(int x=1,int y=2,int z=3):a(x),b(y),c(z){};
int main()
object_pool&demo_class& p1;//创建对象内存池
demo_class *p=p1.malloc();//分配一个原始内存块
cout&&p1.is_from(p)&&
//p指向的内存未经初始化
cout&&(p-&a!=1)&&&
&&&(p-&b!=2)&&&
&&&(p-&c!=3)&&
demo_class *pa=p1.construct(4,5,6);//构造一个对象,可以传递参数
cout&&(pa-&a==4 && pa-&b==5 && pa-&c==6)&&
object_pool&string&//定义一个分配string对象的内存池
for(int i=0;i&10;i++)
string *ps=pls.construct(&Hello object_pool&);//先调用分配内存,再
cout&&*ps&&//连续分配大量的string对象
p1.destroy(p);//手工析构和释放内存,然后使用传递的参数调用构造函数
getchar();
接着是object_pool的示例:
#define BOOST_ALL_NO_LIB
#include&boost/pool/object_pool.hpp&
#include&iostream&
//object_pool继承pool,但是是保护继承,有些操作类似,单有些pool的接口无法使用
class demo_class
int a,b,c;
demo_class(int x=1,int y=2,int z=3):a(x),b(y),c(z){};
int main()
object_pool&demo_class& p1;//创建对象内存池
demo_class *p=p1.malloc();//分配一个原始内存块
cout&&p1.is_from(p)&&
//p指向的内存未经初始化
cout&&(p-&a!=1)&&&
&&&(p-&b!=2)&&&
&&&(p-&c!=3)&&
demo_class *pa=p1.construct(4,5,6);//构造一个对象,可以传递参数
cout&&(pa-&a==4 && pa-&b==5 && pa-&c==6)&&
object_pool&string&//定义一个分配string对象的内存池
for(int i=0;i&10;i++)
string *ps=pls.construct(&Hello object_pool&);//先调用分配内存,再
cout&&*ps&&//连续分配大量的string对象
p1.destroy(p);//手工析构和释放内存,然后使用传递的参数调用构造函数
getchar();
程序的记过很简单,就不在此处列出来了。
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
排版有问题
没有分页内容
视频无法显示
图片无法显示热销排行榜
1.2.3.4.5.6.7.8.9.10.
最近浏览的其他商品
浏览更多同类商品
【 】??????????
Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++准标准库”的美誉。
Boost程序库完全开发指南-深入C++准标准库-第3版
978-7-121-25313-3
电子工业出版社
出版日期:
读者对象:
¥71.30&&&
立刻节省:¥27.70
所属分类:
Visual C++ 2013入门..
  基于2014年11月发布的Boost 1.57版,介绍了其中的所有129个库。  国人原创精品  C++开发的好帮手  C++专家的优秀学习教材  深入解析Boost库的内部实现  内容丰富、组织得当、概念清晰、讲解细致,是广大C++程序员和爱好者的必备好书。
Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着&C++&准&标准库&的美誉。
Boost由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简捷、优雅、灵活和高效。
本书基于2014年11月发布的Boost 1.57版,介绍了其中的所有129个库,并且结合C++11/14标准详细、深入地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速地理解、掌握Boost的用法并应用于实际的开发工作。
罗剑锋(网名Chrono)1996年就读于东北财经大学1997年开始接触C/C++1998年参加计算机软件专业技术资格和水平考试,获高级程序员资质2003年毕业于北京理工大学,获计算机专业硕士学位目前任项目经理,主要研究方向为C/C++、设计模式、密码学、数据库、嵌入式系统开发业余爱好是阅读、欣赏音乐和旅游
第0章 导读1
0.1 关于本书1
0.2 读者对象1
0.3 术语与风格2
0.4 C++标准3
0.5 本书的结构4
0.6 如何阅读本书5
0.7 本书的源码5
第1章 Boost程序库总论7
1.1 关于Boost7
1.1.1 获取方式8
1.1.2 目录结构8
1.1.3 使用方式9
1.2 开发环境9
1.2.1 操作系统和编译器10
1.2.2 快捷安装Boost10
1.2.3 完全安装Boost10
1.2.4 定制安装Boost11
1.2.5 验证开发环境11
1.3 构建工具12
1.3.1 安装b212
1.3.2 构建脚本12
1.3.3 构建语言13
1.3.4 构建命令14
1.4 总结14
第2章 时间与日期15
2.1 timer库概述15
2.2 timer16
2.2.1 用法16
2.2.2 类摘要17
2.2.3 使用建议18
2.3 progress_timer18
2.3.1 用法18
2.3.2 类摘要19
2.4 progress_display20
2.4.1 类摘要20
2.4.2 用法21
2.4.3 注意事项22
2.5 date_time库概述23
2.5.1 编译与使用24
2.5.2 基本概念24
2.6 处理日期25
2.6.1 日期25
2.6.2 创建日期对象26
2.6.3 访问日期27
2.6.4 日期的输出28
2.6.5 转换tm结构29
2.6.6 日期长度29
2.6.7 日期运算31
2.6.8 日期区间32
2.6.9 日期区间运算33
2.6.10 日期迭代器35
2.6.11 其他功能36
2.6.12 综合运用36
2.7 处理时间39
2.7.1 时间长度39
2.7.2 操作时间长度40
2.7.3 时间长度的精确度42
2.7.4 时间点43
2.7.5 创建时间点对象44
2.7.6 操作时间点对象45
2.7.7 转换tm/time_t结构46
2.7.8 时间区间46
2.7.9 时间迭代器47
2.7.10 综合运用47
2.8 date_time库的高级议题50
2.8.1 编译配置宏50
2.8.2 自定义字面值51
2.8.3 格式化时间51
2.8.4 本地时间52
2.8.5 序列化54
2.9 总结54
第3章 内存管理57
3.1 smart_ptr库概述57
3.1.1 RAII机制57
3.1.2 智能指针58
3.2 scoped_ptr59
3.2.1 类摘要59
3.2.2 操作函数60
3.2.3 用法61
3.2.4 对比unique_ptr63
3.2.5 make_unique64
3.3 scoped_array65
3.3.1 类摘要65
3.3.2 用法66
3.3.3 对比unique_ptr66
3.3.4 使用建议67
3.4 shared_ptr68
3.4.1 类摘要68
3.4.2 操作函数69
3.4.3 用法70
3.4.4 工厂函数72
3.4.5 应用于标准容器73
3.4.6 应用于桥接模式74
3.4.7 应用于工厂模式75
3.4.8 定制删除器77
3.4.9 高级议题78
3.5 shared_array82
3.5.1 类摘要82
3.5.2 用法82
3.6 weak_ptr83
3.6.1 类摘要83
3.6.2 用法84
3.6.3 enable_shared_from_this85
3.6.4 enable_shared_from_raw86
3.6.5 打破循环引用88
3.7 intrusive_ptr89
3.7.1 类摘要89
3.7.2 用法90
3.7.3 引用计数器91
3.8 pool库概述92
3.9 pool 93
3.9.1 类摘要93
3.9.2 操作函数94
3.9.3 用法95
3.10 object_pool95
3.10.1 类摘要96
3.10.2 操作函数96
3.10.3 用法97
3.10.4 使用更多的构造参数97
3.11 singleton_pool99
3.11.1 类摘要99
3.11.2 用法99
3.12 pool_alloc100
3.13 总结101
第4章 实用工具103
4.1 noncopyable103
4.1.1 原理104
4.1.2 用法104
4.1.3 实现105
4.2 ignore_unused106
4.2.1 基本用法106
4.2.2 模板用法107
4.3 optional108
4.3.1 类摘要108
4.3.2 操作函数109
4.3.3 用法111
4.3.4 工厂函数112
4.4 assign113
4.4.1 list_inserter113
4.4.2 使用operator+=114
4.4.3 使用operator ()115
4.4.4 generic_list116
4.4.5 初始化容器 117
4.4.6 减少重复输入119
4.4.7 操作非标准容器120
4.4.8 其他议题121
4.5 swap122
4.5.1 原理122
4.5.2 交换数
客服专线:010- 客服邮箱:
Copyright & 北发图书网 2007,
All Rights Reserved
北京北发电子商务股份有限公司 版权所有Boost_Pool_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Boost_Pool
上传于||文档简介
&&许​多​大​型​C​+​+​程​式​库​都​有​自​己​的​记​忆​体​管​理​机​制​,​包​括​M​F​C​,​S​T​L​,​L​o​k​i​都​如​此​,​B​o​o​s​t​自​然​也​不​例​外​。​本​文​概​要​说​明​前​三​者​的​做​法​,​然​后​集​中​火​力​探​讨​B​o​o​s​t​的​做​法​与​设​计​细​节​。
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩14页未读,继续阅读
你可能喜欢}

我要回帖

更多关于 boost库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信