c++ std::transform
时间: 2023-12-13 22:05:48 浏览: 135
`std::transform`是C++标准库中的一个算法函数,用于将一个序列转换为另一个序列。它通常与迭代器一起使用,可以对一个序列中的每个元素应用一个函数,然后将结果存储到另一个序列中。
`std::transform`的函数原型如下:
```c++
template<class InputIt, class OutputIt, class UnaryOperation>
OutputIt transform(InputIt first1, InputIt last1, OutputIt d_first, UnaryOperation unary_op);
```
其中,`first1`和`last1`指定了输入序列的起始和结束位置,`d_first`指定了输出序列的起始位置,`unary_op`是一个一元函数,指定了对每个元素进行的操作。
举个例子,下面的代码将一个int型的vector中的每个元素加1,然后存储到另一个vector中:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> v{1, 2, 3, 4, 5};
std::vector<int> result(v.size());
std::transform(v.begin(), v.end(), result.begin(),
[](int i){ return i + 1; });
for (auto i : result) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出为:
```
2 3 4 5 6
```
阅读全文