blic: Z(int ii) : i(ii) {} voi
Автор admin
Пятница, 5 июня 2009 11:32
blic: Z(int ii) : i(ii) {} void gO { i++: } friend ostream& 342 Глава 7 • Обобщенные контейнеры operator«(ostream& os. const Z& z) { return os « z.i; } }: int mainO { ostream_iterator out(cout. ” “); vector vz: for(int i = 0; i < 10: i++) vz.push_back(Z(i)): copy(vz.begin(), vz.endO, out): cout « endl; apply(vz, &Z::g): copy(vz.begin(). vz.endO. out): } III:- В данном случае мы не можем использовать операторную функцию operator-:*, потому что команда будет иметь вид (it->*f)(): Компилятор попытается использовать операторную функцию operator-:**, не поддерживаемую классами итераторов1. Как было показано в предыдущей главе, для выполнения некоторой операции с каждым элементом контейнера гораздо удобнее воспользоваться алгоритмом for_each() или transform(). Итераторы в обратимых контейнерах Контейнеры могут обладать свойством обратимости; это означает, что они позволяют создавать как итераторы, перемещающиеся от начала к концу, так и итераторы, перемещающиеся от конца к началу. Все стандартные контейнеры поддерживают двусторонний перебор. У обратимых контейнеров определены функции rbegin() (для полу
Комментарии закрыты.
Последние комментарии