gpt4 book ai didi

c++ - 哪个更高效/整洁 : clearing an existing stringstream or creating a new one?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:36 26 4
gpt4 key购买 nike

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

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

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

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

就效率和整洁度而言,哪种实现方式最好?

我的直觉是选项 1,但不确定初始构造与每次调用 str() 相结合是否会更糟?

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

最佳答案

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

关于c++ - 哪个更高效/整洁 : clearing an existing stringstream or creating a new one?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8756398/

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