C++标准库定义的函数对象及使用
2014-06-05 11:35
190 查看
标准库定义了一组表示算数运算符、关系运算符和逻辑运算符的类,每个类分别定义了一个执行命名操作的调用运算符。
目前想到的使用场景是把这些类定义作为回调函数使用,我们就不必自己去实现。比如vector排序:
以下运算符默认只有两个参数。
plus<Type>
minus<Type>
multiplies<Type>
divides<Type>
modulus<Type>
negate<Type>
equal_to<Type>
not_equal_to<Type>
greater<Type>
greater_equal<Type>
less<Type>
less_equal<Type>
逻辑运算符:
logical_and<<#class _Tp#>>
logical_not<<#class _Tp#>>
logical_or<<#class _Tp#>>
目前想到的使用场景是把这些类定义作为回调函数使用,我们就不必自己去实现。比如vector排序:
vector<int> vec{3,5,7,8,9,43}; sort(vec.begin(), vec.end(), greater_equal<int>());
以下运算符默认只有两个参数。
plus<Type>
minus<Type>
multiplies<Type>
divides<Type>
modulus<Type>
negate<Type>
equal_to<Type>
not_equal_to<Type>
greater<Type>
greater_equal<Type>
less<Type>
less_equal<Type>
greater_equal<int> fun; cout<<fun(3,1)<<endl; //结果是1
逻辑运算符:
logical_and<<#class _Tp#>>
logical_not<<#class _Tp#>>
logical_or<<#class _Tp#>>
相关文章推荐
- 使用sys.SQL_Modules获取SQL Server数据库对象(存储过程,视图,函数)定义脚本
- @classmethod, @staticmethod和@property这三个装饰器的使用对象是在类中定义的函数。下面的例子展示了它们的用法和行为:
- 使用定义Prototype的对象或函数
- C++ 预定义函数对象和函数适配器的使用(二)
- 函数对象的使用
- 使用派生类对象通过成员函数指针调用基类虚函数之不可能性的证明
- 考虑使用函数对象代替函数作算法的参数(Effective STL条款46)
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- 还原Wss3.0内容数据库时遇到:"ComputerName\Microsoft##SSEE 上的 WSS_Content 包含用户定义的架构。数据库在能够使用之前必须为空。请删除所有表、存储过程以及其他对象,或使用其他数据库。 " 的提示,无法加载内容数据库
- 第十四章——调用操作符重载和函数对象的使用
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数 .txt
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- Delphi使用TADOQuery时:不正常地定义参数对象。提供了不一致或不完整的信息。
- 使用STL中的泛型算法及函数对象
- 函数对象的使用
- (zz)定义函数对象
- JavaScript使用prototype定义对象类型(转)[
- 惰性函数定义模式 使用方法第1/3页
- Ruby之旅(二) Ruby的基本语法以及对象的使用,方法的定义及调用,属性的定义及使用