1
我想知道如何去从给定的矢量复制某些元素到另一个。如何复制到未初始化的向量?
std::vector<T> vec2;
vec2.reserve(N);
std::copy_if(vec1.begin(),
vec1.end(),
vec2.begin(),
[=](const T& r) {
return /*something*/
});
(此时vec1
有一堆的元素了。)
或者我应该使用back_inserter
?
std::vector<T> vec2;
vec2.reserve(N);
std::copy_if(vec1.begin(),
vec1.end(),
std::back_inserter(vec2),
[=](const T& r) {
return /*something*/
});
其中哪些会工作,如果有一个?此外,是否需要保留电话?
您应该使用'back_inserter' –
为什么第一个不能工作? @IgorTandetnik – Dovahkiin
@Dovahkiin它还没有元素,但你要复制的地方。 –