看來,我認爲std::copy_if
將是非常有用的過濾容器:就地的std :: copy_if
std::vector<int> vec { 1, 2, 3, 4 };
auto itEnd = std::copy_if(vec.begin(), vec.end(), vec.begin(),
[](int i) { return i > 2; });
vec.resize(itEnd - vec.begin());
然而,std::copy_if
被指定的輸入和輸出範圍可以不重疊。
是否有替代方案?
'remove_if'不會很好地解決你的問題嗎? –