for循环怎么同时遍历x,y要两个一起变,x和y要一起加不同的数
时间: 2024-03-24 20:41:34 浏览: 18
可以使用C++11引入的范围for循环(range-based for loop)来同时遍历两个容器或数组,并且结合`std::transform()`算法来实现对两个容器的同时操作,例如:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> x = {1, 2, 3};
std::vector<int> y = {4, 5, 6};
std::vector<int> z(x.size());
std::transform(x.begin(), x.end(), y.begin(), z.begin(),
[](int a, int b) { return a + b + 1; });
for (auto &a : z) {
std::cout << a << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
6 8 10
```
其中,`std::transform()`算法可以将两个容器的元素一一对应进行操作,并将结果存储到第三个容器中。这里的lambda表达式`[](int a, int b) { return a + b + 1; }`表示对于两个输入的整数a和b,将它们相加并加上1,返回一个新的整数作为结果。最后,使用范围for循环遍历第三个容器z,输出结果。