问题描述
我想这样做
#include <vector>
#include <span>
struct S
{
std::vector<int> v;
void set(std::span<int> _v)
{
v = _v;
}
};
但是does not compile。有哪些替代方案?
解决方法
v.assign(_v.begin(),_v.end());
,
您还可以如下使用std::vector::insert
:
v.insert(v.begin(),_v.begin(),_v.end());
请注意,如果v
应该先清空,则应在此之前致电v.clear()
。但是,这允许您将跨度添加到v
中的指定位置。