结合了多个绑定的ForwardIterator迭代速度太快

时间:2018-12-30 23:36:08

标签: c++ stl

我想遍历vector的{​​{1}}并删除所有偶数。

示例:

int

预期结果应为{5,9,3} 但这是{5,8,9,3,8}

我认为在执行绑定和删除中的所有功能之前,迭代器已经结束了。

我知道如何以不同的方式解决它,但我想知道如何使用嵌套表单以及它如何与迭代器一起工作

1 个答案:

答案 0 :(得分:2)

在VS2015中,您的代码离开EatMsg,其中包含{5、9、3、3、8}。

mov rdi, EatMsg将迭代器返回到v中第一个未使用的元素,使用该元素来截断std::remove_if()

vector

此后,vector包含{5,9,3}


在旁注中,如果要使用lambda而不是v.erase(it, v.end()); ,可以这样操作:

v