Re[7]: Про перемещение (на примере кода)
От: qaz77  
Дата: 16.04.25 09:10
Оценка:
Здравствуйте, Shmj, Вы писали:

S>У меня изначально создается нужного размера вектор в конструкторе, частично заполняю данными. Но для удобства часть данных вносятся позже через сеттеры. Там где нужно сделать преобразование бинарных данных — доступ через span без выделения памяти.


Я к тому, что если есть два относительно больших вектора, то слить их в один другой вектор без копирования не получится никак.
Перемещение здесь ничем не поможет.

Я сам делал нечто подобное много лет назад, с бинарными сетевыми пакетами.
Там у меня были большие данные и маленький заголовок пакета фиксированного размера.
Если данные формируются где-то на стороне, то выдаем этой стороне вектор с зарезервированным местом для заголовка, а потом перемещаем себе и формируем заголовок.
Когда move-семантики не было, то это через swap делалось, но суть та же.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.