Re[2]: возврат значения через reference параметр
От: Stanislav V. Zudin Россия  
Дата: 15.02.18 10:35
Оценка: +2
Здравствуйте, Dair, Вы писали:

V>>не будет ли какого нибудь лишнего копирования или чего доброго не прибьет ли выход из функции create созданную на стеке временную переменную v?


D>Лишнего не будет, но копирование один раз будет вызвано в месте где points = v;

D>поэтому я бы так не делал, а делал бы сразу

D>
D>void create(vector<Point>& points) {
D>    points.push_back(Point(1,2));
D>    ...
D>}
D>


Мы не знаем, как формируется внутренний массив и какие требования к целостности данных.
Если таки необходимо строить данные в локальном массиве, то я бы сделал вместо
points = v;

по старинке
points.swap(v); 
// или по-современному 
points = std::move(v);
_____________________
С уважением,
Stanislav V. Zudin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.