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

94
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 - вот такого вида:

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

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

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

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

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

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

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

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

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

92