range-based for loops
-
Ich verstehe, was der Syntax
for (auto const arg : Args
und
for (auto & arg : Args)
usw bedeuten. es wird das aktuelle Objekt nicht kopiert sondern es wird ein Alias auf das eigentliche Objekt definiert, was bis auf native Datentypen effizienter ist.
Aber was bedeutet in diesem Zusammenhang der Syntax
for (auto && arg : Args)
Handelt es sich hier um eine rvalue-Referenz?
-
Diese Syntax hat nur dann einen Zweck, wenn die Iteratoren der Range Rvalues produzieren. Was so gut wie nie der Fall ist (bspw. wenn wir über eine Range iterieren, die Elemente ad hoc generiert und zurückgibt). Ergo ist
auto&
so gut wie immer ausreichend.auto&&
wird auch funktionieren (siehe perfect forwarding reference), fällt aber unnötig ins Auge.
-
Wiederholt eine bereits beantwortete Frage zu stellen, ist im Allg. nicht mit den Forenregeln vereinbar.
-
camper schrieb:
Wiederholt eine bereits beantwortete Frage zu stellen, ist im Allg. nicht mit den Forenregeln vereinbar.
Bist Du Jurist?