std::stringstream::flush() 应该做什么?

ein*_*ica 3 c++ stringstream streambuf c++-standard-library

std::ostream有一个flush()方法:

将未提交的更改写入基础输出序列。

这对 a 意味着什么std::stringstream?如果我理解正确,这意味着对于这样的流没有什么可做的。这是真的?

ein*_*ica 5

flush()触发对流rdbuf成员pubsync()方法的调用(依次调用sync())。对于字符串流,它rdbuf是 a std::basic_stringbuf,正如链接所示,它的pubsync()/sync()行为是什么都不做。

因此,确实,您的假设是有效的:std::stringstream::flush()什么都不做。