for_each其实也就是一个for循环,循环体在传入的func里面执行
看看原型声明

template <class InputIterator, class Function>Function for_each (InputIterator first, InputIterator last, Function fn);

将函数 fn 应用于范围 [first,last) 中的每个元素。
此模板函数的行为等价于:

template<class InputIterator, class Function>Function for_each(InputIterator first, InputIterator last, Function fn)
{while (first!=last) {fn (*first);++first;}return fn;      // or, since C++11: return move(fn);
}

使用举例

// for_each example
#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vectorvoid myfunction (int i) {  // function:std::cout << ' ' << i;
}struct myclass {           // function object type:void operator() (int i) {std::cout << ' ' << i;}
} myobject;int main () {std::vector<int> myvector;myvector.push_back(10);myvector.push_back(20);myvector.push_back(30);std::cout << "myvector contains:";for_each (myvector.begin(), myvector.end(), myfunction);std::cout << '\n';// or:std::cout << "myvector contains:";for_each (myvector.begin(), myvector.end(), myobject);std::cout << '\n';return 0;
}

C++ for_each函数相关推荐

  1. c++中的 for_each 函数

    c++中的 for_each 函数 在C++中,for_each是一个通用的算法,用于对容器中的所有元素执行给定的函数.for_each函数是定义在头文件中的,它是C++标准库的一部分.for_eac ...

  2. STL中的for_each()函数

    for_each()函数是C++ STL中的一个遍历函数,函数原型如下: for_each(InputIterator first, InputIterator last, Function func ...

  3. C++11:Lambda表达式(匿名函数)理解

    C++在C11标准中引入了匿名函数,即没有名字的临时函数,又称之为lambda表达式.lambda表达式 实质上是创建一个匿名函数/对象.即你可以理解为(Lambda 表达式实际上是一个函数,只是它没 ...

  4. 非变动性算法源代码分析与使用示例( for_each、min_element 、find_if、search 等)...

    非变动性算法代码分析与示例: 一.for_each C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14   // TEMPLATE FUNCTION for_each ...

  5. 第十天2017/04/21(1、函数指针、❤动态库回调❤)

    1.函数指针的语法基础 [函数指针的定义.初始化.使用]对函数名去多少个&,都不起作用,都是一样的,都还是它本身test.如:test.&test.&&test.&am ...

  6. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环

    普通的for循环 for_each函数模板 基于范围的for循环 普通用的像: for(int i = 0; i 这种的for循环就不说了, 下面主要说一下后两个,做个笔记. 以后用for循环可以考虑 ...

  7. 【C++ STL学习之六】STL算法之for_each

    for_each()函数将调用者提供的操作施加于每一个元素身上.它既可以是非变动性算法,也可以说是变动性算法. template <class InputIterator, class Func ...

  8. 在C++中使用Lambda函数提高代码性能

    使编译器以及操作系统从正在创建的应用中榨取更高性能的关键在于提供充足的有关代码意图的信息.在充分了解这个代码意图实现的功能等信息的情况下, 就有可能将代码在编译时和运行时的并行吞吐量最大化,令开发者可 ...

  9. 函数对象,lamdda表达式,function函数包装,std::bind函数绑定

    一 函数对象 在学习其他知识之前,先来学习函数对象,然后引出std::lambda.std::function.std::bind等内容的学习,那么究竟什么是函数对象呢? 函数对象(Function ...

  10. c++中transform函数的应用

    transform函数的应用 作用 transform函数的作用是:将某操作应用于指定范围的每个元素.transform函数有两个重载版本: transform(first,last,result,o ...

最新文章

  1. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.17 如何选择合适的拍摄地点...
  2. 在web.config中配置httpHandlers节点是的说明
  3. 上班骚扰男同事被抓到......
  4. WPF使用Canvas绘制可变矩形
  5. java显示文件_java 显示文件夹结构
  6. 【转】使用 Element-UI 的 Loading 组件-以服务的方式调用
  7. putty远程linux系统时间修改,使用putty远程linux服务
  8. CVPR 2021 论文大盘点-去雾去模糊篇
  9. 想做产品经理,产品经理培训靠谱吗?
  10. jinjia2 模板库- django/flask
  11. Pod2g全面回归越狱界 iOS 6越狱曙光来临
  12. 一个奇鸽船新体验:类似的木函软件
  13. 计算机的USB是什么,usb2.0和3.0的区别,教您电脑usb2.0和3.0的有什么区别
  14. 插入USB麦克风电脑没有声音了的解决方法
  15. 把pdf转换成ppt的软件
  16. 对flash cs5的展望
  17. 岭南师范学院计算机科学与技术专业如何,2018岭南师范学院专业排名及分数线 王牌专业有哪些...
  18. 在职人员缴纳的社保跟灵活就业人员缴纳的社保到底有什么不同?
  19. 【Linux基础】Linux软件包管理器yum的使用指南rzsz安装
  20. 美语音标 [ə]的几点注意

热门文章

  1. 斯坦福AI百年报告2017:人工智能与机器学习全景式概览
  2. 【贪玩巴斯】每日一练——《力扣:LeetCode 算法入门》(C++)——「存在重复元素」
  3. 群晖DSM桌面无法删除快捷方式(无法右键)解决方法
  4. 如此详细的尾灯模组方案,不看看吗?
  5. 华硕笔记本的 Ubuntu 18.04 安装 nvidia 显卡驱动并支持 HDMI 输出
  6. Android MTK CAMERA DRIVER 摄像头驱动
  7. PS打不开webp格式图片的解决方法
  8. 数据增强:模拟雨天算法Python
  9. python_opencv_haze加雾处理
  10. 设计模式-单例模式,观察者模式