//ccsdu2004@yahoo.com.cn //2009-02-12 //cheng du #include <stdlib.h> #include <iostream> #include <string> #include <vector> #include <algorithm> #include <iterator> #include <boost/algorithm/string.hpp> #include <boost/assign/std/vector.hpp> using namespace std; using namespace boost::assign; class str_find //: private noncopyable { public: str_find(int _i, const string &_str): i(_i), str(_str){} public: void operator()(const string& inputstr) { if(i==0) //contain { if(contains(inputstr,str)==true) str_list.push_back(inputstr); } else if(i==1) //begin with { if(starts_with(inputstr,str)==true) str_list.push_back(inputstr); } else if(i==2) //end with. { if(ends_with(inputstr,str)==true) str_list.push_back(inputstr); } else //none { return; } } vector<string> &get_str_list()const { return str_list; } private: int i; string str; static vector<string> str_list; }; vector<string> str_find::str_list; int main() { str_find str(1,"s"); vector<string> vect_str; vect_str += "s.","ssd","ddd","asdf","s12s3d","dd"; for_each(vect_str.begin(),vect_str.end(),str); //str.get_str_list(); copy (str.get_str_list().begin(),str.get_str_list().end(), ostream_iterator<string>(cout,"/n")); } system("PAUSE"); return 1; } 这段代码的意图是****** 保密