У вас может быть цикл, который увеличивает два итератора. Поскольку ваши коллекции имеют одинаковый тип, вы можете декальрировать как в for, так и потому, что они имеют одинаковый размер, вам нужно только проверить один.
for (auto it1 = vec1.begin(), it2 = vec2.begin(); it1 != vec1.end(); ++it1, ++it2)
{
// Use *it1 and *it2
}
Если у вас есть доступ к C ++ 17 и Boost, вы можете использовать хороший дальний
for (auto & [val1, val2] : boost::combine(vec1, vec2))
{
// Use val1 and val2
}
Обратите внимание, что вы можете использовать {}
для инициализации vector
с, поэтому я не буду беспокоиться о myints
.
std::vector<int> vec1 = {1, 1, 0, 0};
std::vector<int> vec2 = {1, 2, 3, 4};