binary_function 函数用法
2019独角兽企业重金招聘Python工程师标准>>>
在定义一个仿函数(functor)不会使用binary_function,但是如果需要函数适配器便需要使用它实现:
struct Inserter
{void operator() (int n, vector<int>& v){v.push_back(n);}
}
Inserter cIn;
vector<int> vInt;
cln(2, vInt);
通过一个算法忘当前容器追加值:
template<typename Functor>
void append(Functor f)
{int x;while(cin >> x)f(x);
}
此时,append的Functor只有一个形参,在不考虑重写Inserter的基础上我们需要定义Inserter_adapter:
template<typename Functor>
struct Inserter_Adapter
{Inserter_Adapter(const Functor& f, vector<int>& v):_f(f), _v(v){}void operator()(int x){_f(x, v_);}private:Functor& _f;vector<int> _v;
};
//使用:
Inserter cIn;
vector<int> vIn;
Inserter_Adapter cIna(f, vIn);
append(ia);
在STL中,提供了相关的函数 bind2nd的适配器,把第二个参数绑定让一个二元函数变成一元的。 此前定义的Inserter不能直接使用在bind2nd上,因为和bind2nd的concept不符合,需要继承binary_function:
struct Inserter : public std::binary_function<int, vector<int>&, void>
{void operator()(int x, vector<int>& vIn){v.push_back(x);}
}
Inserter cIn;
vector<int> vIn;
append(std::bind2nd(cIn, vd)) //1
Inserter_Adapter(cIn, vd)
转载于:https://my.oschina.net/zhaolu0607/blog/826953
binary_function 函数用法相关推荐
- 2021年大数据常用语言Scala(三十七):scala高级用法 高阶函数用法
目录 高阶函数用法 作为值的函数 匿名函数 柯里化(多参数列表) 闭包 高阶函数用法 Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是"头等公民",它和Int. ...
- php foreach嵌套foreach,php中foreach怎么嵌套foreach PHP中foreach函数用法?
foreach的使用方法小编不是很明确,分享达人指教一下.foreach (array_expressforeach($array as $key) { if(xxxx) { break; //bre ...
- linux中awk下 gsub函数用法
gsub函数则使得在所有正则表达式被匹配的时候都发生替换 gsub(regular expression, subsitution string, target string);简称 gsub(r,s ...
- ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...
- 详细记录python的range()函数用法
详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的sl ...
- python Pool常用函数用法总结
在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...
- C++计算程序耗时函数用法汇总
文章目录 前言 方法一(使用频率:常用) 方法二(使用频率:次之) 方法三(使用频率:常用) 补充:方法四 方法五 最常用的时间戳获取方法 前言 这里简单将自己在项目中经常用到的统计耗时的函数用法做个 ...
- undistortPoints()函数用法总结
undistortPoints()函数用法总结 函数调用:C++: void undistortPoints(InputArray src, OutputArray dst, InputArray ...
- 求介绍matlab函数用法的书,MATLAB初学者教程--函数用法的简单介绍
1.4 函数用法的简单介绍 1.4.1什么是函数 似乎很多人一听到函数这个词就会想到数学中的某个概念,然后对于恐惧数学的同学就开始打退堂鼓.在matlab当中到处可以用到函数,它的出现可以让我们用很简 ...
最新文章
- shell shocked什么意思_Shell 启动类型探究 ── login interactive
- WKWebView中经常用到的操作
- 目标意识应求成大于避败 思考时不要先意识到身不足而自我设限
- 转 23种开发模式一点就通
- pythonsvc_sklearn-SVC实现与类参数详解
- jq获取页面url后边带的参数
- Using OpenCV Java with Eclipse
- Win10任务栏100%透明怎么设置
- 2003迁移2008R2难点分析
- 华为P40怎么解账号锁P40Pro忘记密码ID账号锁解除方案开机设备解锁帐号软件使用方法
- 2021鹏业安装算量软件常见问题整理(三)
- 天坑专业成功跨考计算机,研0渣渣前来报到
- Vuepress-theme-reco 构建静态网页错误:在格式错误时超出了最大调用堆栈大小
- ProcessOn在线画图
- Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务
- 京东价格api,京东商品详情接口,京东api,京东优惠券接口,京东到手价api接口,京东app详情接口,接口代码对接实现价格监控接口,品牌维权接口,行业分析api接口代码分享
- Android多语言翻译国际化语言代码与中文对照整理
- 一个按年季度查询数据的SQL语句
- 毕业五年,专科学历的小哥逆袭进腾讯,演绎什么叫努力就有收获!
- 基于Unity UGUI RawImage的网络头像功能实现方案