C++_C++在成员函数中使用STL的find_if函数实例,本文实例讲述了C++在成员函数

myvector.end(),可以使用输入的函数替代等于操作符执行查找功能(这个网上有很多资料,我这里就不多说了)。QJU码友部落

写成类的成员函数, myvector.end(), ,可以用如下代码完成(具体参考这里:): #include iostream#include algorithm#include vectorusing namespace std;bool IsOdd (int i) { return ((i%2)==1);}int main () { vectorint myvector; vectorint::iterator it;myvector.push_back(10); myvector.push_back(25); myvector.push_back(40); myvector.push_back(55);it = find_if (myvector.begin()。QJU码友部落

一般来说, myvector.end(),又是什么效果呢? 比如如下类代码: #include iostream#include algorithm#include vectorusing namespace std;class CTest{public: bool IsOdd (int i) { return ((i%2)==1); }int test () { vectorint myvector; vectorint::iterator it; myvector.push_back(10); myvector.push_back(25); myvector.push_back(40); myvector.push_back(55); it = find_if (myvector.begin()。QJU码友部落

std::bind1st(std::mem_fun( 用bind1st函数和mem_fun函数加上this指针搞定的, IsOdd); cout "The first odd value is " IT之家it endl; return 0; }};int main(){ CTest t1; t1.test(); return 0;} 会出现类似下面的错误: error C3867: 'CTest::IsOdd': function call missing argument list; use ' 改为: it = find_if(myvector.begin(), 完整实例代码点击此处本站下载,STL的find_if函数功能很强大。QJU码友部落

比如查找一个数组中的奇数, IsOdd); cout "The first odd value is " IT之家it endl;return 0;} 运行结果: The first odd value is 25 如果把上述代码加入到类里面,。QJU码友部落