В C ++ 11 теперь мы можем:
void dosomething( std::vector<Thing>& things )
{
for( Thing& thing : things )
{
dofoo( thing );
wiizzz( thing );
tadaa( thing );
}
}
Я знаю, что добавление и использование лямбда - это синтаксический сахар, но он предоставляет интересные возможности оптимизации.
А как насчет цикла for? Это всего лишь синтаксический сахар или компилятор может оптимизировать некоторые случаи, которые невозможно или было бы слишком сложно сделать с рукописным циклом?