Uso padrão preferido: intervalo baseado em ou std :: for_each
Dentro C ++ 11, existem dois loops em todos os elementos (com base em for e for_each). Existe algum motivo para preferir um ao outro ou há situações em que um se encaixa melhor?
for (auto& elem: container) {
// do something with elem
}
std::for_each(container.begin(), container.end(),
[](Elem& elem) {
// do something with elem
});
Minha idéia seria que o primeiro seja mais simples e semelhante a loops com base em intervalo em outros idiomas, enquanto o segundo também funciona para sequências que não são contêineres completos e o segundo é mais semelhante a outrostd
-algorithms.