Boost
阿丹
这些原创和转载的文章,只是方便自己用时翻阅和学习,有需要的朋友也可以看到。本着我自己能看懂的标准,有错别字或者一些技术问题,如想指教可以留言,如恶意评论的滚远点,没收你钱,就别在这恶心我。
展开
-
shared_ptr源码解读
1 介绍众所周知,auto_ptr由于它的破坏性复制语义,无法满足标准容器对元素的要求,因而不能放在标准容器中;如果我们希望当容器析构时能自动把它容纳的指针元素所指的对象删除时,通常采用一些间接的方式来实现,显得比较繁琐。boost库中提供了一种新型的智能指针shared_ptr,它解决了在多个指针间共享对象所有权的问题,同时也满足容器对元素的要求,因而可以安全地放入容器中。转载 2011-11-14 12:18:39 · 602 阅读 · 1 评论 -
boost::enable_shared_from_this的部分实现研究
shared_ptr是boost库实现的几个智能指针中最重要的,其使用引用计数机制来管理资源。如果一个类由shared_ptr管理,而在这个类的某个方法又需要传出一个指向自身的指针,那么这个指针也必须被shared_ptr所管理。 boost库的实现方法为让被管理类继承boost::enable_shared_from_this类,此后通过shared_from_this函数获得指向自身的sh转载 2011-11-30 17:23:41 · 1904 阅读 · 1 评论 -
开放源码 C/C++ 单元测试工具,第 1 部分: 了解 Boost 单元测试框架
什么是单元测试?复杂的 C/C++ 代码中很可能有 bug,到代码编写完成之后再来测试就像大海捞针。比较谨慎的办法是,在编写各个代码段时,针对特定的区域(例如,一些包含大量计算的 C 函数或声明队列等数据结构的 C++ 类),添加专门的小测试(单元测试),以在编写代码的同时进行测试。按这种方式构建的回归测试套件包含一套单元测试和一个测试驱动程序,这个程序运行测试并报告结果。转载 2011-11-14 12:16:23 · 709 阅读 · 0 评论 -
Boost 序列化
没有工作前,不知道序列化的作用。虽然那时候学习《Programming with MFC》的时候,也知道CArchive,CObject等东西,但是没有太意识到其作用。但是,如前所述,我工作的第一件事情,就是了解公司的序列化 类。从当时的一无所知,到现在也慢慢理解了一些序列化的作用了。说起来,自从工作以来因为当时做文件系统后后来的程序补丁,我应经在公司的序列化类以外额 外实现了两个独立的序列化类了转载 2011-12-19 10:11:40 · 1978 阅读 · 0 评论 -
使用boost线程池很好的例子
#include #include #include using namespace boost;using namespace std;void runChild(constint n){ cout "我是第" n "个子线程" endl; sleep(1); cout "进程" n "退出" endl;}转载 2012-03-13 13:58:55 · 5083 阅读 · 0 评论 -
利用boost获取时间并格式化
利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。1. 输出YYYYMMDD[cpp] view plaincopyprint?#include #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::gregorian::to_iso_string(\ boos转载 2012-04-05 15:29:43 · 13894 阅读 · 1 评论 -
使用C++和Boost库写一个自己的脚本引擎
作者:CYM众所周知,脚本的重要性不言而喻.特别是在游戏引擎开发中,也许一个游戏引擎的物理,人工智能,动画,音效,特效可以使用第三方库来实现.,但是脚本引擎却不能是第三方的,你必须自己写有了脚本引擎我们就可以很方便的将第三方库整合到自己的游戏引擎中,,也让游戏开发变得简单快速方便修改..,可能你有使用过脚本语言,但是自己写一个脚本引擎就需要花一点时间了.下面这个例子我会教你写一转载 2012-11-26 20:51:23 · 2484 阅读 · 0 评论