C++ 面试题
目录

C++ 中如何使用 transform 函数进行元素变换?

· 约 2 分钟读完 · 第 69 / 181 章

推荐答案

本题详细解读

1. std::transform 函数的作用

std::transform 是 C++ 标准库中的一个算法函数,用于对容器中的元素进行变换操作。它可以将一个范围内的元素通过指定的操作函数进行转换,并将结果存储到另一个容器中。

2. 函数原型

  • first1 和 last1:输入范围的起始和结束迭代器。
  • d_first:输出范围的起始迭代器。
  • unary_op:一元操作函数,用于对输入范围内的每个元素进行变换。

3. 示例代码解析

  • 我们定义了一个 std::vector<int> 类型的容器 vec,并初始化了一些整数。
  • 创建了一个与 vec 大小相同的 result 容器,用于存储变换后的结果。
  • 使用 std::transform 函数对 vec 中的每个元素进行加 1 操作,并将结果存储到 result 中。
  • 最后,遍历 result 并输出变换后的结果。

4. 注意事项

  • std::transform 不会改变原始容器中的元素,而是将变换后的结果存储到指定的输出容器中。
  • 输出容器的大小必须足够大,以容纳变换后的结果,否则会导致未定义行为。
  • unary_op 可以是一个函数指针、函数对象或 lambda 表达式。