#include <iostream> // cout
#include <algorithm> // generate
#include <vector> // vector
#include <ctime> // time
#include <cstdlib> // rand, srand
using namespace std;
// function generator:
int RandomNumber () { return (rand()%100); }
// class generator:
struct c_unique {
int current;
c_unique() {current=0;}
int operator()() {return ++current;}
} UniqueNumber;
int main () {
srand ( unsigned ( time(0) ) );
vector<int> myvector (8);
generate (myvector.begin(), myvector.end(), RandomNumber);// 通过函数生成
cout << "myvector contains:";
for (vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
cout << ' ' << *it;
cout << '\n';
generate (myvector.begin(), myvector.end(), UniqueNumber);// 通过结构体生成
cout << "myvector contains:";
for (vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
cout << ' ' << *it;
cout << '\n';
return 0;
}