Самый простой способ назначить std::span на std::vector
Я хотел сделать это
#include <vector>
#include <span>
struct S
{
std::vector<int> v;
void set(std::span<int> _v)
{
v = _v;
}
};
Но не компилируется. Какие есть альтернативы?
2 ответа
Решение
Вы также можете использовать std::vector::insert
следующее:
v.insert(v.begin(), _v.begin(), _v.end());
Обратите внимание, что если v
должен быть опорожнен раньше, вы должны позвонить v.clear()
перед этим. Однако это позволяет вам добавить диапазон в указанное место вv
.