成员函数的函数配接器
来源:互联网 发布:排水沟标高计算软件 编辑:程序博客网 时间:2024/05/16 18:13
在STL标准库中除了提供常规的函数配接器外,还提供了两个针对成员函数的函数配接器,其主要功能是通过这些配接器,你可以针对每一个元素直接去调用其成员函数。
这样的成员函数配接器有两个,分别是:
mem_fun_ref(op)调用对象的成员函数op
mem_fun(op)调用对象指针的成员函数op
这两个函数配接器都是去调用对象中的成员函数op,对于这两个成员函数,以前是只能调用对象的const成员函数,但现在的情况好像有所改变,对所有的成员函数都可以调用了。
具体的示例如下:
#include<iostream>#include<functional>#include<deque>#include<algorithm>#include<iterator>using namespace std;class A{public:A(int b):a(b){}~A(){}void mfun(){ostream_iterator<int>(cout,"--") = ++a;}private:int a;};int main(){deque<A>de;for(int i = 0;i<5;i++)de.push_back(A(i));for_each(de.begin(),de.end(),mem_fun_ref(&A::mfun));cout<<endl;deque<A*>de2;for(int i = 0;i<5;i++)de2.push_back(new A(i));for_each(de2.begin(),de2.end(),mem_fun(&A::mfun));/*1--2--3--4--5--1--2--3--4--5--请按任意键继续. . .*/}
使用注意:
一、通过该类配接器调用的成员函数必须要在对象的类型中存在。
二、这两个配接器的参数都必须是传递该类型中成员函数的偏移量,不能直接传递函数名。
2 0
- 成员函数的函数配接器
- 带成员函数指针的成员函数
- 类的成员函数
- 成员函数的指针
- 类的成员函数
- 成员函数的隐藏
- Vector的成员函数
- 成员函数的地址
- 类的成员函数
- 成员函数的指针
- 类的成员函数
- CString的成员函数
- 类的成员函数
- 类的成员函数
- 成员函数的识别
- static数据成员、成员函数的问题
- static数据成员、成员函数的问题
- static数据成员、成员函数的问题
- 一个网站的诞生05--如何把网站做到估值过亿
- android学习之--网格视图(GridView)和图像切换器(ImageSwitcher)
- Kitkat Activity、Task、Application和Process
- 回复回复和菲尔特热豆腐干豆腐
- C++ queue 和 deque的区别
- 成员函数的函数配接器
- fiddler使用
- 维吾尔污染物入无人
- [HDOJ 4929] Another Letter Tree [LCA+动态规划]
- 编辑文章 - 博客频道 - CSDN.NET
- 马士兵struts2视频教程第二十四集
- HDU 4417 划分树+二分
- Muddy Fields+POJ+二分图最大匹配
- 【KMP算法详解——适合初学KMP算法的朋友】