Посмотрел. Выбор +- такой же, как при передаче T в шаблонную функцию
const auto& если не нужно менять, auto& если нужно, auto&& для "идеального приема", вполне можно считать дефолтным выбором. (const) auto если копировать дешево или инициализируещее выражение является ссылкой, которая протухает
Сколько читал про lvalue и rvalue нихера не понял, я понял что lvalue - это переменные, которые можно изменить, а rvalue - это все что не lvalue, но все равно непонятно