作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
只是出于好奇而提出的简单问题。
类上的多个方法需要使用字符串流,或者特别是 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/
我是一名优秀的程序员,十分优秀!