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