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