!- 0 && *nm != ‘\0′) os « nm

Автор admin Вторник, 26 мая 2009 11:32

!- 0 && *nm != ‘\0′) os « nm « “: ” « sep: typedef typename Каталог алгоритмов STL 285 std::iterator_traits::value_type T: std::copy(first. last, std::ostream_iterator(std::cout. sep)); os « std::endl: } fendif // PRINTSEQUENCE_H ///:- По умолчанию этот шаблон функции выводит данные в поток cout, разделяя их символами перевода строк, однако вы можете выбрать другой разделитель и передать его вместо аргумента по умолчанию. Также можно задать текст сообщения, выводимого перед основными данными. Функция print() использует алгоритм сору() для передачи объектов в cout через ostream_iterator, поэтому итератор ostream_iterator должен знать тип выводимого объекта, который мы определяем по члену value_type переданного итератора. Шаблон std::iterator_traits позволяет шаблону функции print() обрабатывать интервалы, ограниченные любыми типами итераторов. В итераторах, возвращаемых стандартными контейнерами (такими, как vector), определяется вложенный тип value_type, представляющий тип элемента. Но при работе с массивами итераторы представляют собой обычные указатели, не имеющие вложенных типов. Чтобы об


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