| |
24.3.2.Illustrating the generic generate algorithm: Fill vector1 with 1, 4, 9, 16, ..., 100 |
|
#include <iostream>
#include <cassert>
#include <algorithm>
#include <vector>
using namespace std;
template <typename T>
class calc_square {
T i;
public:
calc_square(): i(0) {}
T operator()() { ++i; return i * i; }
};
int main()
{
vector<int> vector1(10);
generate(vector1.begin(), vector1.end(), calc_square<int>());
for (int j = 0; j < 10; ++j)
cout << vector1[j] << " ";
return 0;
}
|
|
1 4 9 16 25 36 49 64 81 100 |
|