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

C++

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

Зачем придумали istreambuf/ostreambuf? - C++

07.02.2014, 16:48. Просмотров 399. Ответов 7
Метки нет (Все метки)

Уважаемые форумчане, мне очень хочется понять для каких целей создали istreambuf_iterator и ostreambuf_iterator.
Все, что делает istreambuf_iterator - достает, посимвольно, элементы из буфера ввода.
Все, что делает ostreambuf_iterator - выводит, посимвольно, элементы.
Единственное применение для этого (которое я представляю себе) это копирование из одного файла в другой всех элементов.

Объясните пожалуйста - для чего же на самом деле нужны эти два итератора? (можно парочку полезных примеров для самостоятельной мозговой деятельности).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2014, 16:48     Зачем придумали istreambuf/ostreambuf?
Посмотрите здесь:

Зачем придумали WinAPI с таким гиперсложным нутром? - C++ WinAPI
я в этом новичок и такая муть мне не нравится.Но я обучусь этому.Но вопрос в том зачем разработчики так усложняют все? даже с++ из Лафоре в...

Почему создатели языка C++ придумали такой странный синтаксис обращения к элементам одномерного массива? - C++
К элементам массива можно обращаться разными способами. Обычно в квадратных скобках пишут номер элемента массива, а тут узнал что так же...

зачем? - C++
зачем для создания динамических переменных, мы должны прописывать их тип дважды? прим: float * a_pps = new float; double * ex = new...

Зачем? - C++ Builder
Зачем программировать на Builder? Что бы поддерживать старые приложения?

Зачем :: - C++
LRESULT CALLBACK WndProc(HWND windowHandle, UINT msg, WPARAM wParam, ...

Зачем? - C++
#include <cstdlib> #include <iostream> #include <time.h> #include <math.h> #include <vector> #define ABS(x) (x < 0) ?...

Зачем нужно u--? - C++
Как я понимаю это счетчик итераций !! но зачем он ?? #include <iostream> #include <stdio.h> #include <conio.h> using namespace...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dmitriy_M
1340 / 1221 / 112
Регистрация: 20.03.2009
Сообщений: 4,392
Записей в блоге: 11
07.02.2014, 18:38     Зачем придумали istreambuf/ostreambuf? #2
BESSON_off, научись пользоваться гуглом
http://www.cplusplus.com/reference/i...mbuf_iterator/
http://www.cplusplus.com/reference/i...mbuf_iterator/
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
07.02.2014, 20:40  [ТС]     Зачем придумали istreambuf/ostreambuf? #3
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
научись пользоваться гуглом
Я иитераторы изучил перед тем как вопрос задать. И искал я не их определение а идею их эффективного использования. Не накидывай спама в тему, а дай пару нормальных примеров использования.
Dmitriy_M
1340 / 1221 / 112
Регистрация: 20.03.2009
Сообщений: 4,392
Записей в блоге: 11
07.02.2014, 21:08     Зачем придумали istreambuf/ostreambuf? #4
BESSON_off, там примеры приведены. К примеру для элегантного чтения.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
08.02.2014, 18:58  [ТС]     Зачем придумали istreambuf/ostreambuf? #5
Просто странно, есть же более солидные аналоги типа istream/ostream_iterator со своими производными, которые помимо того, что могут быть символьными (как istreambuf/ostreambuf) но и строковыми и т.п.
Dmitriy_M
1340 / 1221 / 112
Регистрация: 20.03.2009
Сообщений: 4,392
Записей в блоге: 11
08.02.2014, 22:35     Зачем придумали istreambuf/ostreambuf? #6
BESSON_off, да, но они не работают с буфером.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
19.02.2014, 19:39  [ТС]     Зачем придумали istreambuf/ostreambuf? #7
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
да, но они не работают с буфером
А для вас какая разница достаете ли вы символы через istream_iterator<char> или через istreambuf_iterator<char>. В обоих случаях вы получаете по символу каждую итерацию. В чем различаются получаемые символы?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2014, 00:27     Зачем придумали istreambuf/ostreambuf?
Еще ссылки по теме:

cin.get() зачем он - C++
Зачем мы используем cin.get()? и почему два раза( строка 15 и 16) #include &lt;iostream&gt; using namespace std; const int bits=32; ...

return зачем он? - C++
Сколько бы книжек не перечитывал, так и не понял, зачем же все таки нужен return. Что значит: функция возвращает значение и что такое...

Зачем учить С++? - C++
Приветствую всех. Сижу сейчас, читаю книгу по С++ (С++ за 21 день) и тут мне в голову приходит вопрос: &quot;Зачем я учу С++?&quot;. Так вот....

Зачем false? - C++
void IntFillFunction(Array&lt;int&gt;&amp; theArray) { bool Stop = false; int offset, value; while (!Stop) { cout &lt;&lt; &quot;Enter an...

Зачем вычитать '0' - C++
Доброго времени суток. char c = cin.get(); if(c &gt;= '0' &amp;&amp; c &lt;= '9') res = res * 10 + c - '0'; else { cin.putback(c); ...


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

Или воспользуйтесь поиском по форуму:
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
20.02.2014, 00:27     Зачем придумали istreambuf/ostreambuf? #8
Имхо конешно, но и fread обычной сишной функции читает.
Тебе наверно надо ключевую фразу "Разница istreambuf и чего то ещё".. хотя разницы врятли можно заметить, очень много функции С++ просто копируют Сишные, с маленькими добавочными алгоритмами, которые и самому написать можно...
Yandex
Объявления
20.02.2014, 00:27     Зачем придумали istreambuf/ostreambuf?
Ответ Создать тему
Опции темы

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