Форум программистов, компьютерный форум CyberForum.ru

Как работает istreambuf_iterator? - C++

Восстановить пароль Регистрация
 
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 329
01.02.2014, 19:36     Как работает istreambuf_iterator? #1
Всем привет!
Уважаемые форумчане, расскажите пожалуйста принцип работы istreambuf_iterator и ostreambuf_iterator. Перелопатил кучу информации в книгах, там вроде написано, но вдуплить не могу... Хотелось бы простым языком и с примерами.

Как работать с istream_iterator и ostream_iterator понятно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
01.02.2014, 19:51     Как работает istreambuf_iterator? #2
назначение паттерна iterator понятно?
если непонятно - то что именно?
явное отличие этих итераторов в том, что они только изображают обход коллекции, изображают добавление новых элементов итд.
Те в отличии от итераторов, например вектора, коллекции никакой нет и происходит модификация потоков ввода/вывода.
Но в этом и прелесть применения итераторов для потоков - алгоритмы с ними могут работать как с ограниченной последовательностью
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 329
01.02.2014, 20:10  [ТС]     Как работает istreambuf_iterator? #3
Цитата Сообщение от alex_x_x Посмотреть сообщение
назначение паттерна iterator понятно?
Я понимаю этот паттерн как альтернативу iterator_traits (в чем их отличие - не понимаю).
Цитата Сообщение от alex_x_x Посмотреть сообщение
алгоритмы с ними могут работать как с ограниченной последовательностью
Для этого и используют (насколько я понимаю) потоки ostream и istream, и как с ними работать тоже ясно (потоки через итераторы работают с обобщенными алгоритмами). А вот для чего нужны ostreambuf_iterator и istreambuf_iterator мне не понятно. Если можно то приведите простой примерчик описывающий работу как с одним, так и с другим буферным итератором.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
01.02.2014, 20:30     Как работает istreambuf_iterator? #4
Цитата Сообщение от BESSON_off Посмотреть сообщение
Я понимаю этот паттерн как альтернативу iterator_traits
итератор траитс - есть просто набор данных используемых итераторами (тайпдефы), итератор же есть паттерн проектирования (абстракция) для доступа к элементам последовательности, без открытия деталей реализации последней
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 329
01.02.2014, 20:38  [ТС]     Как работает istreambuf_iterator? #5
Цитата Сообщение от Кудаив Посмотреть сообщение
паттерн проектирования (абстракция)
Как абстракцию, вы имеете в виду - указатель на последовательность с определенными функциями-членами, если вы про это, то это я понимаю.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
01.02.2014, 20:46     Как работает istreambuf_iterator? #6
BESSON_off, оч полезная штука http://www.cplusplus.com/reference/i...mbuf_iterator/
Yandex
Объявления
01.02.2014, 20:46     Как работает istreambuf_iterator?
Ответ Создать тему
Опции темы

Текущее время: 17:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru