【问题标题】:Best way to empty stringstream?清空字符串流的最佳方法?
【发布时间】:2009-05-07 13:22:59
【问题描述】:

其中一种可能性是:

somestringstream.str("");

但它是最优的吗?有什么方法可以保留 stringstream 内部缓冲区,以便后续 operator

【问题讨论】:

标签: c++ stl stringstream


【解决方案1】:

我一直这样做:

s.clear();//clear any bits set
s.str(std::string());

@litb gets into more detail 关于如何寻找到流的开头结合 std::ends 你可以保持分配的大小。

【讨论】:

  • 或者简单的 ss.str(""); //更直观
  • @milan1612:您仍然需要清除这些位,并且发送 C 样式的 char* 会更慢。
  • ..和this explains 为什么s.str(std::string()) 变体可以更有效。
猜你喜欢
  • 2016-06-18
  • 2021-04-15
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 2016-12-11
  • 2012-11-16
相关资源
最近更新 更多