const auto&
sarebbe sufficiente se si desidera eseguire operazioni di sola lettura. Tuttavia, mi sono imbattuto inQual è il vantaggio dell'utilizzo di riferimenti universali in loop basati su intervalli?
for (auto&& e : v) // v is non-const
un paio di volte di recente. Questo mi fa meravigliare:
E 'possibile che in alcuni casi d'angolo oscuri ci sia qualche vantaggio in termini di prestazioni nell'uso di riferimenti universali, rispetto a auto&
o const auto&
?
(shared_ptr
è un sospetto per i casi angolo oscuro)
Aggiornamento Due esempi che ho trovato nei miei preferiti:
Any disadvantage of using const reference when iterating over basic types?
Can I easily iterate over the values of a map using a range-based for loop?
Si prega di concentrarsi sul domanda: perché dovrei voler usare auto & & in loop per loop?
Lo vedi veramente "spesso"? –
Non sono sicuro che nella tua domanda ci sia abbastanza contesto per capire quanto "pazzo" sia dove lo stai vedendo. –
@LightnessRacesinOrbit Per farla breve: perché dovrei usare 'auto &&' in loop-based per cicli? – Ali