const auto&
würde ausreichen, wenn ich schreibgeschützte Operationen ausführen möchte. Ich bin jedoch darauf gestoßen
for (auto&& e : v) // v is non-const
ein paar Mal in letzter Zeit. Das wundert mich:
Ist es möglich, dass in einigen dunklen Eckfällen die Verwendung von Weiterleitungsreferenzen im Vergleich zu auto&
oder einen gewissen Leistungsvorteil bietet const auto&
?
( shared_ptr
ist ein Verdächtiger für obskure Eckfälle)
Update Zwei Beispiele, die ich in meinen Favoriten gefunden habe:
Gibt es einen Nachteil bei der Verwendung von const-Referenzen beim Durchlaufen von Basistypen?
Kann ich die Werte einer Karte mithilfe einer bereichsbasierten for-Schleife problemlos durchlaufen?
Bitte konzentrieren Sie sich auf die Frage: Warum sollte ich auto && in bereichsbasierten for-Schleifen verwenden?
auto&&
for-Schleifen verwenden?