C++ 算法 transform()函数
C++ 算法 transform() 函数有两种不同的用法:
1. 一元操作 :此方法在范围 [first1, last1] 中对元素执行一元操作 op ,并将结果存储在从 result 开始的范围中。
transform() 将函数应用于范围中的每个元素:
2. 二元操作 :此方法对范围[first1, last1]中的元素与以迭代器 first2 开始的范围中的元素执行二元操作 binary_op ,并将结果存储在以 result 开始的范围中。
transform()方法接受两个范围,并对输入范围中每对元素应用一个接受两个参数的函数:
语法
一元运算(1)
template <class InputIterator, class OutputIterator, class UnaryOperation>
OutputIterator transform (InputIterator first1, InputIterator last1,
OutputIterator result, UnaryOperation op);
二元运算(2)
template <class InputIterator1, class InputIterator2,
class OutputIterator, class BinaryOperation>
OutputIterator transform (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, OutputIterator result,
BinaryOperation binary_op);
参数
first1 :一个输入迭代器,指向第一个要操作的范围的第一个元素的位置。
last1: 一个迭代器,指向第一个要操作的范围的最后一个元素之后的位置。
first2: 指向第二个要操作的范围的第一个元素的输入迭代器。
result: 一个输出迭代器,指向存储操作结果的范围的初始位置。
op: 对范围中的每个元素应用的一元函数。
binary_op: 作为其参数传递的两个元素的二元函数。
返回值
transform() 返回一个指向转换后范围末尾的迭代器。