我有一个带有一些值的向量。如何将它复制到另一个向量,以便复制除特定值之外的所有值(位于位置x-x当然将是一个参数)?
此外,我想将位置的值用于x其他用途,所以我希望将其保存。
有简单的方法吗?
如何复制除一个特定值之外的 stl 向量?
您可以使用std::copy_if:
std::vector<T> v = ....;
std::vector<T> out;
T x = someValue;
std::copy_if(v.begin(), v.end(), std::back_inserter(out),
[x](const T& t) { return t != x; });
Run Code Online (Sandbox Code Playgroud)
如果您没有 C++11 支持,您可以std::remove_copy_if相应地使用和调整谓词的逻辑。