Предполагая мое текущее правило, когда программирование с помощью циклов на основе диапазонов говорит
Используйте
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:...)
и только при необходимости не используйте ссылки.