摘要: 这篇文章主要介绍 boost中的智能指针的使用。 内存管理是一个比较繁琐的问题,C++中有两个实现方案: 垃圾回收机制和智能指针。垃圾回收机制因为性能等原因不被C++的大佬们推崇, 而智能指针被认为是解决C++内存问题的最优方案。1. 定义 一个智能指针就是一个C++的对象, 这对象的行为像一个指针,但是它却可以在其不需要的时候自动删除。注意这个“其不需要的时候”, 这可不是一个精确的定义。这个不需要的时候可以指好多方面:局部变量退出函数作用域、类的对象被析构……。所以boost定义了多个不同的智能指针来管理不同的场景。shared_ptrT内部维护一个引用计数器来判断此指针是不是需要被释 阅读全文
posted @ 2010-12-16 15:19 sld666666 阅读(10639) 评论(3) 推荐(3) 编辑
摘要: 本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper),用来定义函数对象。1. 介绍 Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数。boost.function能够代替函数指针并提供更大的灵活性。2. 使用 Boost.Function 有两种形式:首选形式和便携式形式, 其语法如下:首选形式便携式形式boost::functionfloat(int 阅读全文
posted @ 2010-12-16 09:59 sld666666 阅读(9054) 评论(2) 推荐(3) 编辑