Czy pętla dystansowa dla pętli jest korzystna dla wydajności?

Czytając tutaj różne pytania na temat Stack Overflow o iteratorach C ++ i wydajności **, zacząłem się zastanawiać, czyfor(auto& elem : container) kompilator zostaje „rozwinięty” do najlepszej możliwej wersji? (Coś jakauto, który kompilator od razu wprowadza w odpowiedni typ, a zatem nigdy nie jest wolniejszy i czasami szybszy.

** Na przykład, czy ma to znaczenie, jeśli piszesz

for(iterator it = container.begin(), eit = container.end(); it != eit; ++it)

lub

for(iterator it = container.begin(); it != container.end(); ++it)

dla kontenerów nie unieważniających?

questionAnswers(5)

yourAnswerToTheQuestion