如何检查c ++ stl向量中存在的值并将函数应用于向量的每个元素?

tag*_*oma 4 c++ iteration iterator vector

我有两个与C++中标准库的vector类相关的问题.

  1. 如何检查向量中是否已存在某个值(例如一个整数)?

    我想要的单词如下:"如果向量中已存在整数,则下一个,否则将其添加到向量的末尾."

  2. 如何应用包含向量中每个元素的参数的函数?(看来我不能用for_each做到这一点)

    在单词中:"对于向量中的每个z元素,应用MyAddFn(i,j)"

...或者我可能没有使用stl向量序列容器在正确的轨道上,我应该定义自己的迭代器?

For*_*veR 10

1)

std::find(v.begin(), v.end(), 5) == v.end() // checks that vector<int> v has no value 5.

2)例如,使用新的C++ 11 std :: bind,但是对于真正的建议,我需要更多使用MyAddFn的上下文.