iostream
классы - это просто оболочки вокруг буферов ввода / вывода. Сам по себе iostream
ничего не делает ... в основном, он обеспечивает operator>>
операторы форматирования. Буфер предоставляется объектом, полученным из basic_streambuf
, который вы можете получить и установить с помощью rdbuf()
.
basic_streambuf
является абстрактной базой с рядом виртуальных функций, которые переопределяются для обеспечения единого интерфейса для чтения / записи файлов, строк и т. Д. Функция basic_ostream<…>::operator<<( basic_streambuf<…> )
определена для продолжения чтения через буфер до нижележащего источник данных исчерпан.
iostream
ужасный беспорядок, хотя.