1.简介

  该算法用于实行容器元素的变换操作。有如下两个使用原型,一个将迭代器区间[first,last)中元素,执行一元函数对象op操作,交换后的结果放在[result,result+(last-first))区间中。另一个将迭代器区间[first1,last1)的元素*i,依次与[first2,first2+(last-first))的元素*j,执行二元函数操作binary_op(*i,*j),交换结果放在[result,result+(last1-first1))

2.函数原型

 template < class InputIterator, class OutputIterator, class UnaryOperator >
OutputIterator transform ( InputIterator first1, InputIterator last1,
OutputIterator result, UnaryOperator op ); template < class InputIterator1, class InputIterator2,
class OutputIterator, class BinaryOperator >
OutputIterator transform ( InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, OutputIterator result,
BinaryOperator binary_op );

3.参数说明

first1, last1:指出要进行元素变换的第一个迭代器区间 [first1,last1)。 
first2:指出要进行元素变换的第二个迭代器区间首个元素的迭代器位置,该区间的元素个数第一个区间相等。 
result:指出变换后的结果存放的迭代器区间的首个元素的迭代器位置
op:用一元函数对象op作为参数,执行其后返回一个结果值。它可以是一个函数或对象内的类重载operator()。 
binary_op:用二元函数对象binary_op作为参数,执行其后返回一个结果值。它可以是一个函数或对象内的类重载operator()。

4.例子

 #include <iostream>
#include <algorithm>
#include <vector>
using namespace std; int op_increase (int i) { return ++i; }
int op_sum (int i, int j) { return i+j; } int main () {
vector<int> first;
vector<int> second;
vector<int>::iterator it; // set some values:
for (int i=; i<; i++) first.push_back (i*); // first: 10 20 30 40 50 second.resize(first.size()); // allocate space
transform (first.begin(), first.end(), second.begin(), op_increase);
// second: 11 21 31 41 51 transform (first.begin(), first.end(), second.begin(), first.begin(), op_sum);
// first: 21 41 61 81 101 cout << "first contains:";
for (it=first.begin(); it!=first.end(); ++it)
cout << " " << *it; cout << endl;
return ;
}

transform详解的更多相关文章

  1. CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)

    CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)   在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...

  2. css3系列之transform详解translate

    translate translate这个参数的,是transform 身上的,那么它有什么用呢? 其实他的作用很简单,就是平移,参考自己的位置来平移 translate() translateX() ...

  3. CSS3属性transform详解【转载】

    CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)   在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...

  4. iOS开发——UI篇OC&transform详解

    transframe属性详解 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基 ...

  5. Transform详解(超详细) Attention is all you need论文

    一.背景 自从Attention机制在提出 之后,加入Attention的Seq2 Seq模型在各个任务上都有了提升,所以现在的seq2seq模型指的都是结合rnn和attention的模型.传统的基 ...

  6. CSS3动画特效——transform详解

    transform让css3可以做很优质的特效,transform的意思是:改变,使-变形,转换. 在css3中transform的作用也是改变,让元素倾斜,旋转,缩放,位移. 下面来一一分解tran ...

  7. CSS3属性transform详解

    在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形处理,本文将对此做详细介绍. 一.旋转 rotate 用法:transform: rotate(45 ...

  8. CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)(转载)

    在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形处理,本文将对此做详细介绍. 一.旋转 rotate 用法:transform: rotate(45 ...

  9. css3 @keyframes、transform详解与实例

    一.transform 和@keyframes动画的区别: @keyframes动画是循环的,而transform 只执行一遍. 二.@keyframes CSS3中添加的新属性animation是用 ...

随机推荐

  1. pheanstalk put 延时队列

    用pheanstalk客户端投放延时任务时,按照文档的参数顺序投放起不到延时的效果,取出(预订)job时data获取的数据也不是投放的字段值, put <pri> <delay> ...

  2. Python学习问题记录

    1.在windows的cmd中使用open方法打开文件时,报如下错误: (unicode error) 'unicodeescape' codec can't decode bytes in posi ...

  3. 启动Oracle数据库时报错ORA-00119 & ORA-00132

    今天启动Oracle数据库时报错ORA-00119 & ORA-00132,找到解决方法做个记录,方便日后查看. 若是ORACLE不提示错误的话,可以自己查看ORACLE的日志文件. Orac ...

  4. Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三

    Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...

  5. 01:Sysbench 基准压测 IO篇

    line:V1.1 mail: gczheng@139.com date: 2017-11-17 一.Sysench测试前准备 1.1.压测环境 配置 信息 主机 Dell PowerEdge R73 ...

  6. socket_udp客户端循环输入

    server--------------#!/usr/bin/env python # encoding: utf-8  # Date: 2018/6/7 from socket import * s ...

  7. java 字符串排序

    http://bbs.csdn.net/topics/280032929 大可不需要那样复杂了!(一)如果要排序的为字符串,如:String sortStr = "ACDFE";  ...

  8. 【转】 UML各种线的含义

    原文地址:http://blog.csdn.net/jianfpeng241241/article/details/49617449 内容目录: 从一个示例开始 类之间的关系 时序图 附录:<图 ...

  9. sublime text 怎么浏览包

    点击到设置里 里面有个包浏览.

  10. [Z]shell变量详解

    原文:http://www.cnblogs.com/barrychiao/archive/2012/10/22/2733210.html 1 shell变量基础shell变量是一种很“弱”的变量,默认 ...