{
// do stuff with m
return m;
}
Вот следующий код валиден?
const auto modified_m = foo(get_m());
где get_m возвращает std::string по значению
не соберется же
согласен - кажется не должно скомпилится вообще
можно сделать foo(std::string&& m), чтобы собралось) и тогда всё валидно
Да, это верно Тут уже вопрос в смысле написанного... Да, мы передали более ненужное значение (rvalue), что-то сделали в foo, нас это не волнует Но вот мы его же и возвращаем... Вот это странно Впрочем, вкусовщина скорее всего
логичней там по значению вернуть, иначе получается какая-то странная функция
Невалиден. Не скомпилируется. Нельзя биндить temporary на неконстантную ссылку
Обсуждают сегодня