C++ mem_fun 和 mem_fun_ref 的用法】的更多相关文章

原文:http://www.cppblog.com/mysileng/archive/2012/12/25/196615.html 引子: 怎么对容器中的所有对象都进行同一个操作?我们可能首先想到的是用循环来实现.比如有如下的一个类: class ClxECS{public:    int DoSomething() {     cout << "Output from method DoSomething!" << endl; // 这里以输出一句话来代替具体…
假设我们有以下的一个类: 另外有一个包含 class A 对象的数组: vector<A> vec; 如何对每一个类的对象调用成员函数print. 做法1: 利用下标 for(int i=0; i<vec.size(); ++i) { vec[i].print(); } 做法2:利用迭代器 for(vector<int>::const_iterator it=vec.begin(); it!=vec.end(); ++it) { it->print(); } 做法3:C…
例如:假设有如下的代码: class Employee { public: int DoSomething(){} } std::vector<Employee> Emps; 假设我们要调用Emps里面所包含的所有Employee的DoSomething();一般初学者会这样调用: for (std::vector<Employee>::iteror it=Emps.begin(); it!=Emps.Ends(); it++) { (*it).DoSomething(); } 而…
http://www.cnblogs.com/Purple_Xiapei/archive/2012/05/27/2520483.html STL中mem_fun和mem_fun_ref的用法 分类: C++2006-11-21 09:11 5244人阅读 评论(8) 收藏 举报 怎么对容器中的所有对象都进行同一个操作?我们可能首先想到的是用循环来实现.    比如有如下的一个类: class ClxECS{public:    int DoSomething()     {         //…
一句话:container<ClassType*>就用mem_fun,container<ClassType>就用mem_fun_ref 参考: http://www.cplusplus.com/reference/functional/mem_fun/ http://www.cplusplus.com/reference/functional/mem_fun_ref/ 其实这里的本质可以看这篇随笔: http://www.cnblogs.com/qrlozte/p/4453786…
1.引言 先看一个STL中for_each的用法: #include <iostream> #include <vector> #include <algorithm> #include <functional> #include <iterator> using namespace std; class Test { public: Test():data(_data){} void print(){cout<<"i am…
bind函数 在c++11之前,要绑定某个函数.函数对象或者成员函数的不同参数值需要用到不同的转换器,如bind1st.bind2nd.fun_ptr.mem_fun和mem_fun_ref等.在c++11中,绑定参数的方法得以简化.c++11提供了"一站式"绑定模板bind,其用法为: #include <functional> std::bind(待绑定的函数对象/函数指针/成员函数指针,参数绑定值1,参数绑定值2,...,参数绑定值n); bind的第一个参数是待绑定…
1.    概述 泛型编程思想最早缘于A.Stepanov提出的部分算法可独立于数据结构的论断.20世纪90年代初A.Stepanov和Meng Lee根据泛型编程的理论用C++共同编写了STL.但直至1998年,STL才成为C++的正式标准.在后来的几年中,各大主流编译器也都相继加入了对STL的支持,至此STL才开始得到广泛的应用. STL体现的是泛型编程的核心思想:独立数据结构和算法(这是一种独立于OO的编程哲学). STL主要由几个核心部件组成,即迭代器.容器.算法.函数对象.适配器.容器…
转自:http://blog.csdn.net/adm_qxx/archive/2007/05/20/1617488.aspx  第1章 致读者  [1] 在编写程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示.让程序的结构尽可能地直接反映这些思想:  [a] 如果你能把"它"看成一个独立的概念,就把它做成一个类.  [b] 如果你能把"它"看成一个独立地实体,就把它做成某个类的一个对象.  [c] 如果两个类有共同的界面,将此界面做成一个抽象类.…
Effective STL 中文版(大全) 作者:winter 候捷说,对于STL,程序员有三个境界,开始是使用STL,然后是理解STL,最后是补充STL.Effective STL是一本非常好的书,帮助你更好的理解STL,其作者就是<Effective C++>一书的作者.如果你已经初步了解了STL的容器.迭代器.算法和函数,而又想更好的了解STL,那么<Effective STL>是你的最佳选择. 还有一部分没有找到链接,如果再找不到我会自己试着翻译一下:) 前言 容器 条款1…