I wanted to do this
#include <vector>
#include <span>
struct S
{
std::vector<int> v;
void set(std::span<int> _v)
{
v = _v;
}
};
But it does not compile. What are the alternatives?
v.assign(_v.begin(), _v.end());
You can also use the std::vector::insert
as follows:
v.insert(v.begin(), _v.begin(), _v.end());
Note that, if the v
should be emptied before, you should call v.clear()
before this. However, this allows you to add the span to a specified location in the v
.
(See a demo)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With