std::ostream
有一个 flush()
方法,其中:
将未提交的更改写入底层输出序列。
这对于
std::stringstream
意味着什么?如果我理解正确的话,这意味着对于这样的流没有什么可做的。这是真的吗?
flush()
触发对流的 rdbuf
成员的 pubsync()
方法的调用(该方法又调用 sync()
)。对于字符串流, rdbuf
是 std::basic_stringbuf
,正如链接所示,它的 pubsync()
/sync()
行为是不执行任何操作。
因此,您的假设确实是有效的:
std::stringstream::flush()
什么也不做。