Допустим, у нас есть функция
int increment(int x) {
return x+1;
}
Есть ли разница в получении возвращаемого значения с помощью
const int foo = increment(8);
ИЛИ
const int& foo = increment(8);
?
Что если тип возвращаемого значения является более сложным и более значительным объектом? Имеет ли смысл использовать ссылку, чтобы избежать ненужной копии?
Я думал, что возвращаемое значение выходит за рамки функции (increment
в этом примере). Так что одна копия нужна в любом случае. Правильно?