STL算法(14)——for_each()
来源:互联网 发布:ubuntu 压缩 编辑:程序博客网 时间:2024/05/21 21:13
for_each(b,e,p)// 对容器中的数据进行遍历 b和e是一对儿迭代器 p是一个函数或者是函数对象
使用for_each()算法遍历数据
使用for_each()和函数对象修改数据
使用for_each()返回值
#include<iostream>#include<algorithm>#include<vector>using namespace std;void print(int elem){cout << elem << ' ';}// 函数对象template<class T>class AddValue{private:T theValue;public:AddValue(const T &v) : theValue(v){};void operator()(T &elem)const{elem += theValue;}};class MeanValue{public:long num;long sum;public:MeanValue() :num(0), sum(0){}// 定义operator 使其成为函数对象void operator()(int elem){num++;sum += elem;}double value(){return static_cast<double>(sum) / static_cast<double>(num);}operator double()// 类型转换运算符重载{return static_cast<double>(sum) / static_cast<double>(num);}};int main(){vector<int> ivec;for (int i = 1; i <= 9; i++)ivec.push_back(i);cout << endl;for_each(ivec.begin(), ivec.end(), print);cout << endl;MeanValue mv = for_each(ivec.begin(), ivec.end(), MeanValue());cout << "平均值:" << mv.value() << endl;//for_each(ivec.begin(), ivec.end(), AddValue<int>(10));for_each(ivec.begin(), ivec.end(), AddValue<int>(*ivec.begin()));for_each(ivec.begin(), ivec.end(), print);cout << endl;double result = for_each(ivec.begin(), ivec.end(), MeanValue());cout << "平均值:" << result << endl;//system("pause");return 0;}
0 0
- STL算法(14)——for_each()
- STL算法(19)——for_each()和transform()的比较
- STL(3)之for_each算法实现
- STL algorithm算法for_each(21)
- STL运算算法-for_each()
- C++ STL 算法:for_each
- STL算法------for_each
- STL算法之for_each
- STL——for_each的用法
- STL——for_each的用法
- STL遍历算法 “for_each ”,“transform”
- C++的STL算法for_each
- STL-fill()填充算法以及for_each()算法
- STL (1)for_each 函数
- STL中的两个算法for_each与transform
- STL算法 ------- transform() 与 for_each()比较
- STL —— for_each与仿函数、函数指针
- STL for_each
- [leetcode] 75. Sort Colors
- Trouble-Shooting:CRS未启动导致RAC无法启动的对应方法
- HDU OJ 5283 Senior's Fish
- 【Objective-C】栈(stack)和堆(heap)的区别
- Meet Android Studio
- STL算法(14)——for_each()
- Application Fundamentals
- 勾股定理一日一证连载72
- 2016.08.11【初中部 NOIP提高组 】模拟赛C题解
- 100以内加减乘除的计算题
- 如何使用New Relic监控基于Docker的应用程序
- 提高ASP.NET应用程序性能的十大方法
- RAC下Archivelog变更方法
- C#:去掉dataGridView行前面的三角符合