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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 348
#1

Отличие istreambuf_iterator от istream_iterator - C++

16.05.2014, 19:51. Просмотров 658. Ответов 7
Метки нет (Все метки)

Прочитал все найденные похожие темы... Протестировал все, что можно... Но отличий так найти и не смог этих двух итераторов... Оба являются адаптерами на входные потоки... Чем же они отличаются?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2014, 19:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отличие istreambuf_iterator от istream_iterator (C++):

Разница межу istream_iterator и istreambuf_iterator - C++
что это за буфер во втором случае? И что он дает в отличие от первого варианта? Что-то доку переварить никак не получается...

istreambuf_iterator - C++
Кто знает, как через istreambuf_iterator заменить "Inf" на -1?

Как работает istreambuf_iterator? - C++
Всем привет! Уважаемые форумчане, расскажите пожалуйста принцип работы istreambuf_iterator и ostreambuf_iterator. Перелопатил кучу...

Реализация istreambuf_iterator и ostreambuf_iterator - C++
Очень нужна помощь в реализации итераторов istreambuf_iterator и ostreambuf_iterator при помощи вспомогательного типа proxy. Помогите,...

istream_iterator - C++
Добрый день, уважаемые форумчане! Прошу ответить на следующий вопрос - почему, когда создается istream_iterator пустым конструктором...

istream_iterator - C++
Почему столько ошибок? И как их исправить? Программа из книги, но почему-то не работает. #include <iostream> #include <algorithm> ...

7
Somebody
2789 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
16.05.2014, 20:18 #2
Unformatted vs formatted, как operator>> и get.
0
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 348
16.05.2014, 20:37  [ТС] #3
о каком формате речь? istreambuf обходит установки локали? флагов?
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.05.2014, 20:56 #4
BESSON_off, http://en.cppreference.com/w/cpp/ite...ambuf_iterator
http://en.cppreference.com/w/cpp/ite...tream_iterator

Внимательно посмотри на объявление. В шаблоне istreambuf_iterator отсутствует class T

Добавлено через 3 минуты
Читаем первую строку после объявления.

std::istreambuf_iterator is a single-pass input iterator that reads successive characters from the std::basic_streambuf object for which it was constructed.
std::istream_iterator is a single-pass input iterator that reads successive objects of type T from the std::basic_istream object for which it was constructed
Первый читает сугубо characters, т.е. символы\буквы, а второй поддерживает чтение любого типа данных

Добавлено через 1 минуту
Мне это не особо интересно, точнее разжевывать не интересно, дальше дочитайте сами.

Добавлено через 2 минуты
Разница между чтением, std::istreambuf_iterator
The actual read operation is performed when the iterator is incremented, not when it is dereferenced.
std::istream_iterator
by calling the appropriate operator>>.
Добавлено через 6 минут
http://en.cppreference.com/w/cpp/ite...ator/operator*
http://en.cppreference.com/w/cpp/ite...ator/operator*
Первый возвращаем указатель либо ссылку на текущий объект, а второй константный указатель либо ссылку
0
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 348
16.05.2014, 20:57  [ТС] #5
Я английским к сожалению не владею...
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.05.2014, 21:00 #6
http://en.cppreference.com/w/cpp/ite...iterator/equal этого нету в std::istream_iterator

Добавлено через 1 минуту
BESSON_off, и самое главное
Notes
When reading characters, std::istream_iterator skips whitespace by default (unless disabled with std::noskipws or equivalent), while std::istreambuf_iterator does not. In addition, std::istreambuf_iterator is more efficient, since it avoids the overhead of constructing and destructing the sentry object once per character.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.05.2014, 21:01 #7
Цитата Сообщение от BESSON_off Посмотреть сообщение
Чем же они отличаются?
Цитата Сообщение от BESSON_off Посмотреть сообщение
Я английским к сожалению не владею...
http://cpp.com.ru/meyers/ch4.html#t46
Совет 29.
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.05.2014, 21:05 #8
Цитата Сообщение от BESSON_off Посмотреть сообщение
Я английским к сожалению не владею...
Поменяй домен 3го уровня с en на ru. Пример:
http://en.cppreference.com/w/cpp/ite...ambuf_iterator
http://ru.cppreference.com/w/cpp/ite...ambuf_iterator

Добавлено через 2 минуты
alsav22, с конструктором это прикольно. Но я первый написал о пропусках (: Отличие istreambuf_iterator от istream_iterator
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2014, 21:05
Привет! Вот еще темы с ответами:

istream_iterator - C++
Каким образом итератор std::istream_iterator<int> ii(std::cin); определяет сколько строк надо вводить? "for(int i = 0; i < (реагирует на...

Istringstream, istream_iterator - C++
std::string string1 std::cout << "Введите первую неубывающую последовательность натуральных чисел: "; getline(std::cin, string1); ...

Istream_iterator back_inserter - C++
привет всем ! есть такой код vector<int> vec; copy(istream_iterator<int>(cin), istream_iterator<int>(), (vec)); for(int i =...

Borland c++ 5.02 ругается на istream_iterator - C++
Здравствуйте. Компилятор старый, но нужен именно он. В инклудах есть iterator.h Не могу запустить код из книжки братьев дейтеил. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
16.05.2014, 21:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru