const auto&
wystarczy, jeśli chcę wykonywać operacje tylko do odczytu. Jednak wpadłem na
for (auto&& e : v) // v is non-const
ostatnio kilka razy. To sprawia, że zastanawiam się:
Czy to możliwe, że w niektórych niejasnych przypadkach narożnych korzystanie z odniesień do przekazywania przynosi pewne korzyści w zakresie wydajności w porównaniu z auto&
lub const auto&
?
( shared_ptr
jest podejrzany o niejasne sprawy narożne)
Zaktualizuj Dwa przykłady, które znalazłem w moich ulubionych:
Czy są jakieś wady używania odwołania do const podczas iteracji po typach podstawowych?
Czy mogę łatwo iterować wartości mapy za pomocą pętli for opartej na zakresie?
Skoncentruj się na pytaniu: dlaczego miałbym chcieć używać auto && w oparciu o zakres dla pętli?
auto&&
pętli opartych na zasięgu?