小编典典

istringstream、ostringstream 和 stringstream 有什么区别?/ 为什么不在每种情况下都使用 stringstream?

all

我什么时候使用,std::istringstream为什么不应该只在每个场景中使用(是否存在任何运行时性能问题?)。std::ostringstream``std::stringstream``std::stringstream

最后,这有什么不好的(而不是使用流):

std::string stHehe("Hello ");

stHehe += "stackoverflow.com";
stHehe += "!";

阅读 93

收藏
2022-07-29

共1个答案

小编典典

就个人而言,我发现我想要执行流进出同一个字符串流的情况非常少见。

通常我想从一个字符串初始化一个流然后解析它;或将事物流式传输到字符串流,然后提取结果并存储它。

如果您在同一个流之间进行流式传输,则必须非常小心流状态和流位置。

使用 ‘just’istringstreamostringstream更好地表达您的意图并让您检查一些愚蠢的错误,例如意外使用<<vs
>>

可能 会有一些性能改进,但我不会首先考虑这一点。

你写的没有错。如果您发现它的性能不够好,那么您可以分析其他方法,否则坚持使用最清晰的方法。就个人而言,我只是去:

std::string stHehe( "Hello stackoverflow.com!" );
2022-07-29