【发布时间】:2016-11-12 15:48:58
【问题描述】:
给定一个stringstream ss,有没有一种巧妙的方法来遍历当前在其中的字符,而不改变其状态?
当然,我可以 stringstream ss2(ss.str()) 然后吃掉 ss2 中的字符,但我希望有办法避免创建中间字符串,因为我的 ss 可能包含数百万个字符。
背景:我将一些数据编码为ss,并希望在将其写入磁盘文件之前附加一个CRC。它用于计算我想要遍历ss 的 CRC。道德上的做法可能是继承 stringstream 并动态维护 CRC,但这对于我的直接目的来说感觉太麻烦了。
【问题讨论】:
-
也许重新设计已经到位?就像在另一个容器中拥有所有字符(
std::string最有可能)并在容器上执行所有操作并在实际需要时将其写入流?
标签: c++ c++11 stringstream