Предполагая мое текущее правило, когда программирование с помощью циклов на основе диапазонов говорит
Используйте
for(auto const &e :...)илиfor(auto &e:...), когда это возможно, надfor(auto a: ...).
Я основываю это на собственном опыте и на этом вопросе, например.
Но после прочтения новой краткой для петель, интересно, не следует ли заменить мой & в моем правиле на &&? Как написано здесь, это выглядит как Универсальные ссылки Мейерса.
Итак, я спрашиваю себя, должно ли мое новое правило быть
Используйте
for(auto const &&e :...)илиfor(auto &&e:...), когда это возможно...
или это не всегда работает и, следовательно, должно быть довольно сложным.
Проверьте, возможно ли
for(auto const &&e :...)илиfor(auto &&e:...), затем рассмотритеfor(auto const &e :...)илиfor(auto &e:...)и только при необходимости не используйте ссылки.