有什么区别istreambuf_iterator
and istream_iterator
?
一般来说,流和streambufs之间有什么区别?
我真的找不到任何明确的解释,所以决定在这里询问。
IOstreams 使用streambufs 作为输入/输出的源/目标。实际上,streambuf 系列完成了有关 IO 的所有工作,而 IOstream 系列仅用于格式化和字符串/源字符串转换。
Now, istream_iterator http://en.cppreference.com/w/cpp/iterator/istream_iterator接受一个模板参数,该参数说明 Streambuf 中未格式化的字符串序列应格式化为什么,例如istream_iterator<int>
将解释(空格分隔)所有传入文本为int
s.
另一方面,istreambuf_iterator http://en.cppreference.com/w/cpp/iterator/istreambuf_iterator只关心原始字符并直接迭代相关的streambufistream
它被通过了。
一般来说,如果您只对原始字符感兴趣,请使用istreambuf_iterator
。如果您对格式化输入感兴趣,请使用istream_iterator
.
我所说的所有内容也适用于ostream_iterator http://en.cppreference.com/w/cpp/iterator/ostream_iterator and ostreambuf_iterator http://en.cppreference.com/w/cpp/iterator/ostreambuf_iterator.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)