int gen () { static int c = 0; return ++c; } list<int> l (n); generate (l.begin(), l.end(), gen);Implementierung (in
<algorithm>
)
template<typename _ForwardIter, typename _Generator> void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen) { for ( ; __first != __last; ++__first) *__first = __gen(); }