st 1: ostream_iterator<
Автор admin
Понедельник, 8 июня 2009 11:32
st 1: ostream_iterator out(cout. ” “): generate_n(back_inserter(l), 25. NoisyGenO); cout « “\n Printing the list:” « endl; copyd .beginO. I.endO. out); cout « “\n Reversing the list:” « endl: 1 .reverseO; copyd .beginO. I.endO. out): cout « “\n Sorting the list:” « endl; 1 .sortO: copyd .beginO. I.endO. out); cout « “\n Swapping two elements:” « endl: 1ist::iterator itl, it2; itl = it2 = 1 .beginO; ++П2; swap(*itl. *it2); cout « endl; copyd .beginO. I.endO. out); cout « “\n Using generic reverseO: ” « endl; reversed .beginO. I.endO); cout « endl; copyd .beginO. I.endO. out): cout « “\n Cleanup” « endl; } ///:- Даже такие внешне трудоемкие операции, как сортировка и обращение2 списка, не требуют копирования объектов — вместо этого достаточно изменить соответствующие ссылки. Однако следует учесть, что функции sort() и reverse() являются функциями класса list, поэтому они знают о внутреннем устройстве контейнера 1 А это единственная отправная точка, если ранее не был получен итератор, находящийся ближе к нужной позиции. 2 То есть перестановка элементов в обратном порядке. — Примеч. пер
Комментарии закрыты.
Последние комментарии