c transform
时间: 2023-11-03 13:55:46 浏览: 90
Transform是STL(标准模板库)中的一个函数,用于对区间中的内容进行变换操作。它有两种基本的使用方式。
第一种方式是通过传入一个一元函数(unary function)来对区间中的每个元素进行变换。这个一元函数接受一个参数,并返回一个结果。例如,如果你想将一个字符串数组中的所有大写字母转换为小写字母,你可以定义一个这样的一元函数,然后传入给Transform函数。下面是一个示例代码:
```cpp
#include <algorithm>
#include <cctype>
#include <string>
#include <vector>
std::string toLower(std::string str) {
std::transform(str.begin(), str.end(), str.begin(),
[](unsigned char c) { return std::tolower(c); });
return str;
}
int main() {
std::vector<std::string> strings = {"HELLO", "WORLD"};
std::transform(strings.begin(), strings.end(), strings.begin(), toLower);
// 现在strings中的元素已经转换为小写字母了
return 0;
}
```
第二种方式是通过传入一个二元函数(binary function),将两个区间中的元素一一对应起来进行变换。这种方式常用于对两个数组进行逐个元素的运算。例如,你可以使用Transform函数来计算两个数组中对应位置上的元素之和,
阅读全文