const auto&
seria suficiente se eu quiser realizar operações somente leitura. No entanto, eu esbarrei em
for (auto&& e : v) // v is non-const
algumas vezes recentemente. Isso me faz pensar:
É possível que, em alguns casos obscuros, haja algum benefício de desempenho no uso de referências de encaminhamento, em comparação com auto&
ou const auto&
?
( shared_ptr
é suspeito de casos obscuros)
Atualizar dois exemplos que encontrei em meus favoritos:
Alguma desvantagem de usar referência const ao iterar sobre tipos básicos?
Posso iterar facilmente os valores de um mapa usando um loop for baseado em intervalo?
Concentre-se na pergunta: por que eu deveria usar auto && em loops for baseados em faixa?