#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
// 定义Person结构体
struct Person {
std::string name;
int age;
};
// 函数用于将字符串转换为大写
void toUpperCase(std::string& str) {
std::transform(str.begin(), str.end(), str.begin(), [](unsigned char c) {
return std::toupper(c);
});
}
// 函数用于增加年龄
void incrementAge(Person& person) {
person.age += 5;
}
int main() {
std::vector<Person> people = {
{"Alice", 25},
{"Bob", 30},
{"Charlie", 35}
};
// 使用transform增加年龄
std::transform(people.begin(), people.end(), people.begin(), incrementAge);
// 使用transform将姓名转换为大写
std::transform(people.begin(), people.end(), people.begin(), [](Person& person) {
toUpperCase(person.name);
return person;
});
// 输出结果
for (const auto& person : people) {
std::cout << "Name: " << person.name << ", Age: " << person.age << std::endl;
}
return 0;
}