首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个更有效/更整洁:清除现有的字符串流还是创建新的字符串流?

哪个更有效/更整洁:清除现有的字符串流还是创建新的字符串流?
EN

Stack Overflow用户
提问于 2012-01-06 10:27:19
回答 1查看 611关注 0票数 6

简单的问题只是出于好奇。

一个类上的多个方法需要使用一个字符串流,或者特别是一个字符串流。

1)有一个字符串流变量作为类成员,然后在使用它之前清除它,即msg.str("")

2)每次需要使用时,都会在每个方法中本地创建一个新的字符串变量。

从效率和整洁的角度来看,实现这一目标的最佳方式是什么?

我的预感是选项1,但不确定初始构造加上对str()的每个调用是否会更糟?

我读过Initializing.. which one is more efficient?Which is quicker/more efficient?,下一步将是研究分析和编写一个小测试应用程序,但我觉得询问可能会更快一些:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-06 10:35:58

一开始不要使用stringstream。使用istringstreamostringstream,这是非常合适的。并且只使用它一次;清除它是一个复杂的操作,需要几行代码,而且很容易忘记一些东西。msg.str("")并没有开始解决所有的问题。您还需要重置格式化标志、错误状态、异常掩码以及通过xalloc获取的变量中的任何其他格式设置信息。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8756398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档