Здравствуйте, Shmj, Вы писали:
S>У меня изначально создается нужного размера вектор в конструкторе, частично заполняю данными. Но для удобства часть данных вносятся позже через сеттеры. Там где нужно сделать преобразование бинарных данных — доступ через span без выделения памяти.
Я к тому, что если есть два относительно больших вектора, то слить их в один другой вектор без копирования не получится никак.
Перемещение здесь ничем не поможет.
Я сам делал нечто подобное много лет назад, с бинарными сетевыми пакетами.
Там у меня были большие данные и маленький заголовок пакета фиксированного размера.
Если данные формируются где-то на стороне, то выдаем этой стороне вектор с зарезервированным местом для заголовка, а потом перемещаем себе и формируем заголовок.
Когда move-семантики не было, то это через swap делалось, но суть та же.