我正在阅读C ++ 11标准。第27.6.3.4.3 / 7节和第27.6.3.4.5 / 3节描述了函数“int_type underflow();”和“int_type overflow(int_type c = traits :: eof());”。没有例子可以解释它们是如何工作的。有人可以通过示例帮助解释函数吗?
答案 0 :(得分:3)
基本想法非常简单。 underflow
用于输入流。当输入缓冲区中没有剩余数据时,调用underflow
来从实际源(例如,文件或套接字)读取数据,以至少部分地重新填充缓冲区。
overflow
恰好相反 - 当缓冲区已满时,调用overflow
将数据写入关联的文件或套接字,或其他任何内容。它也被称为在输出流被销毁之前刷新缓冲区。