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?