gpt4 book ai didi

C++ 流混淆 : istreambuf_iterator vs istream_iterator?

转载 作者:IT老高 更新时间:2023-10-28 14:02:06 28 4
gpt4 key购买 nike

istreambuf_iteratoristream_iterator 有什么区别?一般来说,流和流缓冲区有什么区别?我真的找不到任何明确的解释,所以决定在这里问。

最佳答案

IOstreams 使用 streambufs 作为输入/输出的源/目标。实际上,streambuf-family 完成了有关 IO 的所有工作,而 IOstream-family 仅用于格式化和 to-string/from-string 转换。

现在, istream_iterator 接受一个模板参数,该参数说明来自 streambuf 的未格式化字符串序列应该被格式化为什么格式,例如 istream_iterator<int>将所有传入的文本解释为(空格分隔)int秒。

另一方面, istreambuf_iterator 只关心原始字符并直接遍历 istream 的相关流缓冲区。它通过了。

一般来说,如果您只对原始字符感兴趣,请使用 istreambuf_iterator .如果您对格式化输入感兴趣,请使用 istream_iterator .

我所说的所有内容也适用于 ostream_iterator ostreambuf_iterator .

关于C++ 流混淆 : istreambuf_iterator vs istream_iterator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10564013/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com