
boost源码剖析
Tianttt
这个作者很懒,什么都没留下…
展开
-
boost源码剖析1----内存管理scoped_ptr
内存管理一直是C++程序员最头疼的的问题,C++继承了C灵活又高效的指针,使用起来一不小心就会导致内存泄露,在boost之前,智能指针是一个不错的解决方案,不过boost提供了更强大的解决方案,包括,scoped_ptr,scoped_array,shared_ptr,shared_array,weak_ptr,instrusive_ptr,这一篇先重点介绍scoped_ptr. scope原创 2013-08-11 21:27:19 · 992 阅读 · 0 评论 -
boost源码剖析2----内存管理scoped_array
从名字可以看得出来,与scoped_ptr不同的是,这是一个管理堆内存的指针,scoped_array 类模板存储一个指向一个动态分配数组的指针(动态分配数组是用 C++ new[] 表达式分配的)。它提供了一个基本的“资源获取就是初始化”的机制,不包括共享所有权或所有权转让语义。无论它的名字还是语义上的强制要求(noncopyable),它的唯一目的就是在当前作用域内独自保留所有权。因为它是n原创 2013-08-12 08:58:36 · 675 阅读 · 0 评论 -
boost源码剖析3----内存管理shared_ptr
Shared_ptr类末班可以指向动态内存分配的对象,支持比较操作,可以搭配STL关联式容器,可以说是最智能的一种指针了,它与scoped_ptr一样是包装了new分配的动态对象,与scoped_ptr不同的是Shared_ptr引入了计数型的智能指针,可以被自由的赋值和拷贝,当引用为0时,才删除引用指向的对象。它的行为最接近原始指针,因此比auto_ptr和scoped_ptr使用范围更广。原创 2013-08-12 22:26:56 · 1161 阅读 · 0 评论 -
Boost实用工具
boost中有很多小的工具,虽然很小,但是很实用。下面简单介绍一下这几个工具。 第一个:noncopyable,从名字可以看出来,它实现一个禁止复制的类,原理也比较简单,就是把一个类的拷贝构造函数和赋值操作符私有化,我们的类在继承这个类就行了。原理比较简单,就不贴源代码了,直接上例子。 比如我们定义一个类:class my_class:boost::noncopyable{.原创 2013-08-18 16:32:06 · 846 阅读 · 0 评论