Как std::iostream узнаёт, когда надо делать flush()?

88
18 апреля 2021, 23:50

Как std::iostream узнаёт, когда надо делать flush() (не указывая это вручную манипуляторами или явным вызовом)?

Судя по документации, деструктор класса, а также деструктор базового std::ostream класса этого не делают. Единственное, что удалось найти, это явный вызов std::cout.flush() при завершении программы либо при чтении/записи из/в std::cin, std::cerr, которые связаны (tied) с std::cout. Распространяются ли эти случаи на произвольный std::iostream?

Answer 1

flush() вызывается endl - ом, (поэтому, кстати, endl тормозит программу), также при окончании программы (или потока) делается flush. Пишу ответом потому, что репутации не хватает на комменты

READ ALSO
Использование и обращение к std::pair в std::map?

Использование и обращение к std::pair в std::map?

Допустим, есть map - вот такого вида:

81
Считывание данных

Считывание данных

Как обработать строку что-бы получился массив чисел?

110
Ссылки и временные объекты

Ссылки и временные объекты

Есть такой код:

127
ввод только чисел и работа с ними

ввод только чисел и работа с ними

Из интернета "достал" три функции из интернета по теме : "ввод только чисел"

87