周遊
1.函數周遊法
bool funcdemo(int value){
cout << value << endl; };
for_each(v.begin(), v.end(), funcdemo);
2.仿函數周遊法; 重載小括号使用匿名對象調用 for_each() 傳回值就是 Myclass 對象
class MyClass{
public:
void operator()(int v)
{
cout << v << endl; }
};
for_each(v.begin(), v.end(), MyClass());
查找
一般類型 ,find_if 一樣, 隻是隻能使用仿函數
vector<int>::iterator pos = find(v.begin(), v.end(), 5);
自定義類型 重載類中的==符号
class Person{
public:
Person(string name)
{
this->name = name;
}
bool operator==(const Person& p)
{
if (this->name ==p.name)
{
return true;
}
return false;
}
string name; };
vector<Person> vp;
Person p1("wyc");
Person p2("wy");
vp.push_back(p1);
vp.push_back(p2);
vector<Person>::iterator pos = find(vp.begin(), vp.end(), p2);
拷貝
copy(vp.begin(), vp.end(), target.begin() ); 将 vp的内容拷貝到 target 容器内
替換
replace( v.begin(), v.end(), 3, 100); 将v中所有3替換為 100
交換
swap(v1,v2)