是否可以使用boost foreach迭代多个容器?

时间:2013-06-23 17:49:53

标签: c++ boost-foreach

我有两个容器,我需要在同一个循环中同时迭代它们。我正在使用boost foreach。

像这样:

  #define foreach_ BOOST_FOREACH

  struct Vertex
  {
     int x;
     int y;
  }

  std::deque<Vertex>::iterator target_it = targets.begin();

  // Put items in correct position 
  foreach_(Vertex v, coords) 
  {
    v.y = (*target_it).y;
    target_it++;
  }

coords是std :: deque。

我还能以某种方式将targets放入foreach吗?该文件建议不。

1 个答案:

答案 0 :(得分:2)

您可能希望使用Boost Zip Iterator并行遍历这两个。