目录
实现容器遍历
for_each(itertor beg,iterator end,_func);
//遍历算法 遍历容器元素
//beg 开始迭代器
//end 结束迭代器
//_func函数或者函数对象
代码
- #include
- using namespace std;
- #include
- #include
-
- //普通函数
- void print01 (int val)
- {
- cout<< val << " ";
- }
-
- //放寒暑
- class print02
- {
- public:
- void operator()(int val)
- {
- cout<< val << " ";
- }
- };
- void test01()
- {
- vector<int>v;
- for(int i = 0;i < 10;i ++)
- {
- v.push_back(i);
- }
- for_each(v.begin(),v.end(),print01);
- cout<
- for_each(v.begin(),v.end(),print02());
- cout<
-
- }
- int main()
- {
- test01();
- }
代码

2.transform
功能描述
搬运容器到另一个容器
函数原型
transform (iterator beg1,iterator endl, iterator beg2,_func);
//beg1 源容器开始迭代器
//end1 源容器结束迭代器
//beg2 目标函数开始迭代器
//_func 函数或者函数对象
代码
- #include
- using namespace std;
- #include
- #include
-
- class Transform
- {
- public:
- int operator()(int v)
- {
- return v;
- }
- };
- class MyPrint{
- public:
- void operator()(int val)
- {
- cout<< val <<" ";
- }
- };
- void test01()
- {
- vector<int>v;
- for(int i = 0;i < 10;i ++)
- {
- v.push_back(i);
- }
- vector<int>vTarget; //目标函数
- vTarget.resize(v.size()); //目标容器要提前开辟空间
- transform(v.begin(), v.end(), vTarget.begin(),Transform());
-
- for_each(vTarget.begin(),vTarget.end(), MyPrint());
- cout<
-
- }
- int main()
- {
- test01();
- }
结果

-
相关阅读:
CHOME、EDGE无法打开网页问题处理方法
HTML语言全称叫超文本标记语言,其中的“标记“如何理解,“超文本”又如何理解?
0.基本概念——数据结构学习
mysql使用--表达式和函数
python 构建数组的方法
C++ 核心指南之资源管理(上)概述
Ubuntu18.04安装LeGO-LOAM保姆级教程
前端预防攻击手段
【Java】微服务——Ribbon负载均衡(跟进源码分析原理)
Java集合篇之深入解析ArrayList,这六问你答的上来吗?
-
原文地址:https://blog.csdn.net/qq_64691289/article/details/128194117