仿函数

RAII和模拟实现智能指针 2016-04-06

什么叫RAII(Resource Acquisition Is Initialization)?RAII指的就是资源分配即初始化,它的作用就是定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放.它是一种技术.为什么要使用RAII?在堆上分配空间时,我们必须很仔细的申请并给出相应的释放语句,但是随着程序的复杂度增大,判断.循环.递归这样的语句会让程序走向不确定,很有可能出现申请了没释放,申请了多次释放.所以我们定义了一个类来

笔记--仿函数 2013-03-26

6 仿函数 ~~~~~~~~~6.1 把仿函数类设计为可被用于值传递 ===================================   1. 函数对象类似于函数指针,STL的习惯是当传给函数和从函数返回时函数对象是通过值传递的   2. 如果函数对象是引用传递,有些STL算法的实现甚至不能编译   3. 因为函数对象以值传递和返回,你的任务就是确保当那么传递(也就是拷贝)时你的函数对象行为良好.这暗示了两个东西:      * 你的函数对象应该很小,否则它们的拷贝会很昂贵.     

仿函数 2012-10-08

仿函数(functor)的概念 仿函数(functor),就是使一个类的使用看上去象一个函数.其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了.  在我们写代码时有时会发现有些功能的实现的代码,会不断的在不同的成员函数中用到,但是又不好将这些代码独立出来成为一个类的一个成员函数.但是又很想复用这些代码.写一个公共的函数,可以,这是一个解决方法,不过函数用到的一些变量,就可能成为公共的全局变量,再说为了复用这么一片代码,就要单立出一个函数,也不是很好维护.
一周排行