STL学习----入门(1)[functional]
来源:互联网 发布:访客网络什么意思 编辑:程序博客网 时间:2024/06/05 07:05
继续头文件的介绍:
#include <functional>定义了许多函数对象类型和支持函数对象的功能,函数对象是支持operator()()函数调用运算符的任意对象。
类
functionC++11将任意类型的可调用(Callable)对象与函数调用的特征封装到一起。mem_fn C++11将成员函数(Member function)转化成函数对象(指针(Pointer)版)bad_function_call C++11这是一个异常,当调用一个空的 function 对象时抛出is_bind_expression C++11特征类,识别指定类型是否是一个捆绑表达式is_placeholder C++11特征类,识别指定类型是否是一个捆绑表达或中的位置标置符(Bind placeholde)reference_wrapper C++11可拷贝构造(CopyConstructible)且可赋值构造(CopyAssignable)的引用封装
哈希
hash哈希函数对象
hash 函数对内置类型的特例化
- template<> struct hash<bool>;
- template<> struct hash<char>;
- template<> struct hash<signed char>;
- template<> struct hash<unsigned char>;
- template<> struct hash<char16_t>;
- template<> struct hash<char32_t>;
- template<> struct hash<wchar_t>;
- template<> struct hash<short>;
- template<> struct hash<unsigned short>;
- template<> struct hash<int>;
- template<> struct hash<unsigned int>;
- template<> struct hash<long>;
- template<> struct hash<long long>;
- template<> struct hash<unsigned long>;
- template<> struct hash<unsigned long long>;
- template<> struct hash<float>;
- template<> struct hash<double>;
- template<> struct hash<long double>;
- template< class T > struct hash<T*>;
函数
bind C++11将一至多个参数绑定到函数对象ref C++11用从参数推导出的类型创建一个 reference_wrapper 对象cref C++11用从参数推导出的类型创建一个 reference_wrapper 对象函数对象
算述操作
plus加法函数对象,等价于 x + yminus减法函数对象,等价于 x - ymultiplies乘法函数对象,等价于 x * ydivides除法函数对象,等价于 x / ymodulus取模函数对象,等价于 x % ynegate取相反数函数对象,等价于 -x比较
equal_to函数对象,等价于 x == ynot_equal_to函数对象,等价于 x != ygreater函数对象,等价于 x > yless函数对象,等价于 x < ygreater_equal函数对象,等价于 x >= yless_equal函数对象,等价于 x <= y逻辑操作
logical_and函数对象,等价于 x && ylogical_or函数对象,等价于 x || ylogical_not函数对象,等价于 !x按位操作
bit_and函数对象,等价于 x & ybit_or函数对象,等价于 x | ybit_xor函数对象,等价于 x ^ y否认操作
unary_negate封装函数对象,返回一元谓词(Unary predicate)所表示范围的补(Complement)binary_negate封装函数对象,返回二元谓词所表示范围的补not1构造自定义 unary_negate 对象not2构造自定义 binary_negate 对象从 C++11 开始弃用的:
基类
unary_function已弃用用于创建带一个参数的函数对象的基类binary_function 已弃用用于创建带两个参数的函数对象的基类绑定器
binder1st 已弃用将一个参数绑定到一个二元函数后获得的一元函数对象binder2nd 已弃用bind1st 已弃用将一个参数绑定到一个二元函数bind2nd 已弃用函数适配器
pointer_to_unary_function 已弃用通过一个指针生成一个一元函数对象pointer_to_binary_function 已弃用通过一个指针生成一个二元函数对象ptr_fun 已弃用将一个函数指针转化成函数对象mem_fun_t 已弃用通过一个无参数成员函数生成一个函数对象(指针版)mem_fun1_t 已弃用通过一个带一个参数的成员函数生成一个函数对象(指针版)const_mem_fun_t 已弃用通过一个 const 限定的无参数成员函数生成一个函数对象(指针版)const_mem_fun1_t 已弃用通过一个 const 限定的带一个参数的成员函数生成一个函数对象(指针版)mem_fun 已弃用将一个成员函数转化成函数对象(指针版)mem_fun_ref_t 已弃用通过一个无参数成员函数生成一个函数对象(引用版)mem_fun1_ref_t 已弃用通过一个带一个参数的成员函数生成一个函数对象(引用版)const_mem_fun_ref_t 已弃用通过一个 const 限定的无参数成员函数生成一个函数对象(引用版)const_mem_fun1_ref_t 已弃用通过一个 const 限定的带一个参数的成员函数生成一个函数对象(引用版)mem_fun_ref 已弃用 0 0
- STL学习----入门(1)[functional]
- STL-functional
- STL学习----入门(1)[algorithm]
- STL学习----入门(1)[deque]
- STL学习----入门(1)[Vector]
- STL学习----入门(1)[iterator]
- STL学习----入门(1)[array]
- STL学习----入门(1)[list]
- STL学习----入门(1)[forward_list]
- STL学习----入门(1)[map]
- STL学习----入门(1)[unordered_map]
- STL学习----入门(1)[memory]
- STL学习----入门(1)[numeric]
- STL学习----入门(1)[queue]
- STL学习----入门(1)[set]
- STL学习----入门(1)[unordered_set]
- STL学习----入门(1)[stack]
- STL学习----入门(1)[utility]
- parseSdkContent failed Could not initialize class android.graphics.Typeface
- widows下配置MyEclipse连接hadoop开发环境
- [LeedCode OJ]#223 Rectangle Area
- Area(Pick定理POJ1256)
- logcat获取apk的activity名
- STL学习----入门(1)[functional]
- 2824 The Euler function【欧拉函数】
- uploadifive 1.1.2 动态传参
- caffe 回调函数分析
- 求解 org.elasticsearch.index.mapper.MapperParsingException
- TWIG 模板设计 快速入门手册 中文
- MSBuild 命令行编译项目且不包含pdb文件
- 详解android中OnClickListener监听
- Caliburn Micro Part 1: Getting Started