c++11学习笔记之function函数
来源:互联网 发布:简明python教程3 编辑:程序博客网 时间:2024/05/20 19:32
【说明】
对于相同参数和返回类型但调用方式不同的可调用对象(函数,函数指针,lambda表达式,bind对象,重载了函数调用运算符的类)
需要有一个办法把他们统一化,让他们可以转换成同一个泛型,提供更大的灵活性。标准库引进了function函数。
【使用】
它需包含头文件
#include <functional>
定义如下:
function<T> f; // f是一个用来存储可调用对象的空function,这些可调用对象的形式都应与函数类型T相同。
用一个通过map来统一调用的列子来说明情况:
//普通函数int add(int i, int j){return i + j;}//lambdaauto mod = [](int i, int j){return i%j; };//函数对象struct divide{int operator()(int d1 ,int d2){return d1 / d2;}};int test_main(){map < string, function<int(int, int)>> map;map.insert({ "+", add });map.insert({ "%", mod });map.insert({ "/", divide() });cout << map["+"](20, 10) << endl;cout << map["%"](20, 10) << endl;cout << map["/"](20, 10) << endl;return 0;}
由于使用了function,类似int(int,int)的不同调用方式都可以统一管理了。
0 0
- c++11学习笔记之function函数
- Object-C 学习笔记(三)---函数function
- Go语言学习笔记之函数(function)
- C语言学习笔记(五) -系统函数 System Function
- C学习笔记之函数
- 莫烦学习笔记之TensorFlow(Activation function)激励函数
- conversion function 转换函数笔记----C++学习之路
- function-like classes 仿函数笔记----C++学习之路
- function template函数模板概念笔记----C++学习之路
- lua学习笔记---Function(函数)
- MySQL 学习笔记 之 function
- 【学习C++】学习C++ -> 函数( Function )
- C++11 学习笔记 std::function和bind绑定器
- C++Template学习笔记之函数模板
- C++pirmer 学习笔记之函数定义
- C++primer学习笔记之函数
- c语言学习笔记分享之函数
- 《C Primer Plus》学习笔记之 函数
- cookie、session、application和pagecontext
- 插入数据报错
- tomcat如何解析resource数据源
- 在考虑如何做微信营销之前,你必须思考下面几个问题。
- Hadoop 报异常“could only be replicated to 0 nodes, instead of 1”
- c++11学习笔记之function函数
- iOS设备在iTues和Xcode中都找不到
- ctrcmp strcpy源代码
- 空tomcat无调优,访问8080口,10000并发
- 冒泡排序
- java 使用jsch 远程链接linux执行命令
- s3c6410使用MFC-API进行MPEG-4格式解码及LCD播放代码注释【转】
- Android开源项目第一篇:个性化控件(View)篇
- java数组中根据元素查找位置