2
У меня есть два контейнера, и мне нужно перебирать их обоих одновременно, в том же цикле. Я использую 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 является станд :: Deque.
Могу ли я также положить targets
в это foreach
как-нибудь? Документ не предлагает.
может быть ... кажется, скорее уродливым, чем мой оригинальный код. – BeeBand
@BeeBand: Если вы хотите пройти два контейнера параллельно с Boost foreach, я уверен, что это способ сделать это. Для чего это стоит: я согласен, хотя я давно решил не использовать Boost foreach для реального кода, отчасти из-за этой точной проблемы. –