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

C++

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

Зачем очищать поток cout? - C++

04.02.2014, 19:47. Просмотров 1066. Ответов 7
Метки нет (Все метки)

Всем привет!

Не могу понять, зачем очищать поток cout после вывода?
Все, что выудил из гугла, что вроде как поток сохраняет в себе все, что выводил и может не хватить памяти... Фигня какая-то... Не?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2780 / 1594 / 143
Регистрация: 03.12.2007
Сообщений: 4,178
Завершенные тесты: 1
04.02.2014, 19:49     Зачем очищать поток cout? #2
В каком смысле "очищать поток"?
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 342
04.02.2014, 20:32  [ТС]     Зачем очищать поток cout? #3
зачем использовать endl, flush и т.п.
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
04.02.2014, 21:32     Зачем очищать поток cout? #4
BESSON_off, stdout - это буферизованый поток, т.е. данные пишутся не сразу, а накапливаются в буфере, потом периодически пишется сразу весь буфер; flush нужен для синхронизации с файлом.
MrGluck
Ворчун
Эксперт CЭксперт С++
6674 / 3855 / 510
Регистрация: 29.11.2010
Сообщений: 10,214
05.02.2014, 02:47     Зачем очищать поток cout? #5
Часто это необходимо для синхронизации потоков. Когда мы вызываем flush (а смысл endl это перевод строки + flush и думаю первое вам не интересно), мы заставляем явно объект управление небуферизированным потоком cout сбросить все что в нем содержится в поток. А это важно например, когда в этот же поток пишет еще кто-то и необходимо сохранить последовательность.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 342
05.02.2014, 15:53  [ТС]     Зачем очищать поток cout? #6
Но ведь, когда на регистр попадает строчка "file << ...", то даже если в этот файл записывает еще один поток, то все, что в моменте будет в регистре запишется в файл, а другой поток сможет записать свою информацию позже, когда попадет в регистр. Или речь идет о многопоточных программах, где информация в файл заливается одновременно с нескольких потоков?
Dmitriy_M
1338 / 1219 / 111
Регистрация: 20.03.2009
Сообщений: 4,352
Записей в блоге: 11
05.02.2014, 19:00     Зачем очищать поток cout? #7
BESSON_off, что за регистр?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 20:09     Зачем очищать поток cout?
Еще ссылки по теме:

В чем разница std::cout и просто cout? C++
C++ Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
C++ Как правильно очищать вектор указателей
C++ Cout <<endl; Что это значит? Если ничего нету в cout?
Очищать ли память? C++

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

Или воспользуйтесь поиском по форуму:
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 342
05.02.2014, 20:09  [ТС]     Зачем очищать поток cout? #8
Регистр процессора
Yandex
Объявления
05.02.2014, 20:09     Зачем очищать поток cout?
Ответ Создать тему
Опции темы

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