STL 之for_each,transform
transform:元素传输
声明:
- #include <algorithm>
- template <class inputItr,class function>
- function for_each(inputItr first,inputItr last,function func);
- template <class inputItr, class outputItr, class unaryOperation>
- outputItr transform(inputItr first,inputItr last, outputItr destFirst,unaryOperation op);
- template <class inputItr1, class inputItr2, class outputItr, class binaryOperation>
- outputItr transform(inputItr1 first1, inputItr1 last, inputItr2 first2, outputItr destFirst,binaryOperation bop);
示例代码:
- #include <iostream>
- #include <list>
- #include <string>
- #include <numeric>
- #include <iterator>
- #include <vector>
- #include <functional>
- #include <algorithm>
- using namespace std;
- void doubleNum(int& num) {
- num = 2 * num;
- cout << num << " ";
- }
- int main() {
- char cList[5] = {'a','b','c','d','e'};
- vector<char> charList(cList,cList+5);
- ostream_iterator<char> sreen(cout, " ");
- cout << "charList:" << endl;
- copy(charList.begin(),charList.end(),sreen);
- cout << endl;
- //transform
- transform(charList.begin(),charList.end(),charList.begin(),toupper);
- cout << "charList:" << endl;
- copy(charList.begin(),charList.end(),sreen);
- cout << endl;
- int list[7] = {2,8,5,1,7,11,3};
- ostream_iterator<int> srceenInt(cout, " ");
- cout << "list" << endl;
- copy(list,list+7,srceenInt);
- cout << endl;
- // for_each
- for_each(list,list + 7, doubleNum);
- cout << endl;
- cout << "list" << endl;
- copy(list,list+7,srceenInt);
- cout << endl;
- return 0;
- }
运行结果:
charList:
a b c d e
charList:
A B C D E
list
2 8 5 1 7 11 3
4 16 10 2 14 22 6
list
4 16 10 2 14 22 6
STL 之for_each,transform相关推荐
- STL常见算法transform以及二分查找,以及lambda表达式
下面主要讲下transform transform主要是如下作用:实现对两个数组的元素,依次对其进行操作,将其结果放入两外一个数组中. 注意:上图第三个参数是第二个数组的首元素. lambda表达式, ...
- (原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
Abstract之前在(原創) 如何使用for_each() algorithm? (C/C++) (STL) 曾經討論過for_each(),不過當時功力尚淺,只談到了皮毛而已,這次看了effect ...
- STL常用的遍历算法
STL常用的遍历算法 for_each() transform() for_each() for_each: 用指定函数依次对指定范围内所有元素进行迭代访问.该函数不得修改序列中的元素. void s ...
- 10、STL实用技术专题
10.STL实用技术专题 10.1STL(标准模板库)理论基础 10.1.1基本概念 #include <iostream> #include <vector> #includ ...
- 【C++】C++STL标准模板库
一.STL的基本概念 1.什么是STL STL (Standard Template Librany)标准准模板庠是惠普实验室开发的一系列软件的统称.现在主要出现在C++中,但在被引入C++之前该技木 ...
- STL 简介,标准模板库
作者:Scott Field 这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL. 当我第一次打算写一篇关于STL的文章的 ...
- STL中list用法详解
本文转载自百度文库.作者如下.其中下面的count, count_if等函数的使用有些陈旧,如在编译时遇到问题,请百度. 标准模板库(STL)介绍 作者:Scott Field 本文以List容器为例 ...
- 黑马程序员C++学习笔记(第三阶段核心:STL)--- 更新中
目录 迭代器 序列式容器 vector -- 可随机访问 list -- 不支持随机访问 deque -- 动态 关联式容器 -- 红黑树 map multimap set multiset -- 废 ...
- for_each使用方法详解
Abstract 之前在(原創) 如何使用for_each() algorithm? (C/C++) (STL) 曾經討論過for_each(),不過當時功力尚淺,只談到了皮毛而已,這次看了effec ...
最新文章
- linux禁止路由器,FCC 新规可能禁止在 WiFi 路由器安装 OpenWRT
- android开发环境搭建教程
- NanoPi NEO Air使用十五:使用V4L2驱动USB摄像头
- 基于jsp的网上商城_[源码和文档分享]基于S2SH框架的JSP和MySQL的网上商城系统
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
- 设置secureCRT中vim的字体颜色
- 清华美女学霸数学笔记曝光, 精美程度无与伦比
- vue和微信小程序的区别、比较
- php堆栈溢出,php - 警告:php_eval() - 堆栈内存溢出
- 调用拷贝构造函数的场景
- html表格布局方式有那几种,前端几种常见的布局方式
- 生成静态libevent
- ans函数python_#12 Python函数
- html5开发播放器,larkplayer: 插件化的 HTML5 播放器
- 《史蒂夫·乔布斯传》(Steve Jobs)官方正式中文版高清PDF
- 2022年计算机一级考试网络安全素质教育模拟试题及答案
- java开发app后端_app后端用什么开发
- 10位程序员眼中的2007:寻找软件开发利器
- 文件被别的程序打开无法删除怎么办?
- 1路编码器脉冲计数器或2路DI高速计数器,Modbus RTU模块 WJ150