【发布时间】:2022-01-24 06:48:34
【问题描述】:
就像在 Python 中一样,我们可以在 for 循环中解压列表列表,如下所示:
coordinates = [[2,2], [5,99]]
for x, y in coordinates:
print(x+y)
在 C++ 中,有没有办法对向量/向量集/集合做同样的事情? 有点像
vector<vector<int>> coordinates {{2,3}, {5,99}};
for(auto x, y : coordinates)
cout << x+y;
如果有人能提供多个 c++ 版本的解决方案,那就更好了。
【问题讨论】:
-
你应该选择一个特定的标准,因为c++11/c++14和c++17的答案会有很大的不同。
-
其实,在不同的 c++ 版本中单独解决这样的问题不是很棒吗?它甚至会提高堆栈溢出的答案质量。任何想知道这一点但使用不同版本的人都会在这里得到安抚。
-
如果您想要多个 C++ 版本的答案,请在您的问题中澄清,以便答案开始包括所有 C++ 版本的解决方案。目前,用户会寻找这个并看到一个关于 c++11 的问题,并且只找到 c++17 的答案,所以这对其他用户来说并不是很好。当您使用多个版本标签时,人们会选择他们认为最合适的一个,他们不会尝试解决所有版本,正如您所看到的,因为所有的答案都是 C++17,没有 C++11/C+ +14 个答案(可能是因为这些版本没有解决方案)。
-
好的,我会添加