fill算法和generate算法的用法示例:
#include <vector>
#include <algorithm>
#include <iostream>
#include <cassert>
using namespace std;
void Print(int n)
{
cout<<n<<endl;
}
int plus1()
{
static int a = 0;
return a++;
}
int main()
{
vector<int> vec;
vec.push_back(1);
vec.push_back(3);
vec.push_back(5);
vec.push_back(7);
for_each(vec.begin(),vec.end(),Print);
fill(vec.begin(),vec.end(),100);
for_each(vec.begin(),vec.end(),Print);
fill(vec.begin(),vec.begin()+1,99);
for_each(vec.begin(),vec.end(),Print);
generate(vec.begin(),vec.end(),plus1);
for_each(vec.begin(),vec.end(),Print);
}