inO { return iterator(*this);

Автор admin Пятница, 19 июня 2009 11:32

inO { return iterator(*this); } iterator endO { return iterator(*this); } }: int mainO { const int SZ = 20; FibonacciAdapter al(SZ); cout « “accumulate: ” « accumulate(al.beginO. al.endO, 0) « endl; Fibonacci Adapter a2(SZ), a3(SZ): cout « “inner product: ” « inner_product(a2.beginO. a2.end(). a3.beginO. 0) « endl: FibonacciAdapter a4(SZ): int rl[SZ] = {0}; int* end = partial_sum(a4.beginO. a4.end(). rl); print(rl. end. “partial_sum”. ” “): FibonacciAdapter a5(SZ): int r2[SZ] = {0}: end = adjacent_difference(a5.beginO. a5.end(). r2): print(r2. end. “adjacent_difference”. ” “): } ///:- Чтобы инициализировать FibonacciAdapter, достаточно задать длину последовательности чисел Фибоначчи. При создании iterator мы сохраняем ссылку на вмещающий объект FibonacciAdapter для последующих обращений к FibonacciGenerator и length. Обратите внимание: при проверке равенства правостороннее значение игнорируется, поскольку существенно лишь то, достиг итератор конца последовательности или нет. Кроме того, operator++() не изменяет итератор; состояние FibonacciAdapter изменяется только одной операцией — вызовом функции oper


Комментарии закрыты.