是否可以在C ++中使用for循环迭代一对值?

时间:2020-10-23 17:42:51

标签: c++ vector

是否可能发生这种情况,或者有什么方法可以在for循环中分别分配对值?

vector<pair<int, int>> arr;
// Input some values here in arr
for(auto &[x,y]: arr){
     cout<<x<<" "<<y;
}

1 个答案:

答案 0 :(得分:2)

您的代码实际上是C ++ 17或更高版本中的有效代码,如@MikeCAT所说。您正在使用所谓的structured binding。它可以从数组或简单类类型(在这种情况下,从pair s开始)解包。