Позволяет ли цикл for в C ++ 11 использовать новые или лучшие оптимизации?

В C ++ 11 теперь мы можем:

void dosomething( std::vector<Thing>& things )
{
    for( Thing& thing : things )
    {
        dofoo( thing );
        wiizzz( thing );
        tadaa( thing );
    }

}

Я знаю, что добавление и использование лямбда - это синтаксический сахар, но он предоставляет интересные возможности оптимизации.

А как насчет цикла for? Это всего лишь синтаксический сахар или компилятор может оптимизировать некоторые случаи, которые невозможно или было бы слишком сложно сделать с рукописным циклом?

18
задан James McNellis 9 March 2012 в 01:37
поделиться