关于仿函数-C++
来源:互联网 发布:山外鹰眼 单片机连接 编辑:程序博客网 时间:2024/06/05 06:49
一,概述
仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。
有些功能的的代码,会在不同的成员函数中用到,想复用这些代码。
1)公共的函数,可以,这是一个解决方法,不过函数用到的一些变量,就可能成为公共的全局变量,再说为了复用这么一片代码,就要单立出一个函数,也不是很好维护。
2)仿函数,写一个简单类,除了那些维护一个类的成员函数外,就只是实现一个operator(),在类实例化时,就将要用的,非参数的元素传入类中。
二,仿函数(functor)在各编程语言中的应用
1)C语言使用函数指针和回调函数来实现仿函数,例如一个用来排序的函数可以这样使用仿函数
2)在C++里,我们通过在一个类中重载括号运算符的方法使用一个函数对象而不是一个普通函数。
要使用STL内建的仿函数,必须包含<functional>头文件。而头文件中包含的仿函数分类包括
1)算术类仿函数
加:plus<T>
减:minus<T>
乘:multiplies<T>
除:divides<T>
模取:modulus<T>
否定:negate<T>
例子:
等于:equal_to<T>
不等于:not_equal_to<T>
大于:greater<T>
大于等于:greater_equal<T>
小于:less<T>
小于等于:less_equal<T>
从大到小排序:
3)逻辑运算仿函数
逻辑与:logical_and<T>
逻辑或:logical_or<T>
逻辑否:logical_no<T>
- 关于仿函数-C++
- C++STL:仿函数
- C++STL 仿函数
- 关于仿函数的应用
- C函数仿写 JAVA::String操作
- 数据结构与C++stl(2) 仿函数
- C++ STL之仿函数
- 内联函数/回调函数/仿函数(functor)-------(c++)
- C++——函数对象(仿函数)
- 内联函数/回调函数/仿函数(functor)-------(c++)
- C++——函数对象(仿函数)
- 浅析STL 谓词 + 仿函数 + 函数指针(c)
- 关于C函数
- C++:关于构造函数
- 【C++】关于指针函数
- C语言--关于函数
- 关于c++pow()函数
- 仿函数
- 两招让你成为牛X的T型人才
- JVM内存监控工具 Jvisualvm
- Unity代码笔记<2>生成大量npc+人物随机移动
- JavaWeb学习路线
- 开源框架Slidingmenu的基本使用
- 关于仿函数-C++
- 向量的练习
- Swift学习:2.19 嵌套类型
- Python语言基础(二)_数据类型和变量
- 敏捷宣言
- Java SE面试题(一)
- 暑期工作日志-Day16
- Swift学习:2.20 扩展
- 使用JavaScript获得tr有多少个(html中指定元素的个数)