С++ 11 предоставляет несколько способов перебора контейнеров. Например:
Цикл на основе диапазона
for(auto c : container) fun(c)
станд:: for_each
for_each(container.begin(),container.end(),fun)
Однако каков рекомендуемый способ перебора двух (или более) контейнеров того же размера, чтобы выполнить что-то вроде:
for(unsigned i = 0; i < containerA.size(); ++i) {
containerA[i] = containerB[i];
}