2

我有两个容器,我需要在同一个循环中同时迭代它们。我正在使用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医生建议不。

4

1 回答 1

2

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

于 2013-06-23T17:52:19.107 回答