std::stringstream::flush() 应该做任何事情吗?

问题描述 投票:0回答:1

std::ostream
有一个
flush()
方法,其中:

将未提交的更改写入底层输出序列。

这对于

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

c++ stringstream std streambuf
1个回答
6
投票

flush()
触发对流的
rdbuf
成员的
pubsync()
方法的调用(该方法又调用
sync()
)。对于字符串流,
rdbuf
std::basic_stringbuf
,正如链接所示,它的
pubsync()
/
sync()
行为是不执行任何操作。

因此,您的假设确实是有效的:

std::stringstream::flush()
什么也不做。

© www.soinside.com 2019 - 2024. All rights reserved.