首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::ostringstream和刷新成员函数

std::ostringstream和刷新成员函数
EN

Stack Overflow用户
提问于 2012-10-22 04:28:22
回答 1查看 774关注 0票数 0

为什么这么多人在这样的情况下使用std::ostringstream对象的flush()成员函数:

代码语言:javascript
复制
#include <iostream>
#include <sstream>

int main()
{
   float f = 12.345f / 100;
   std::ostringstream ios;
   ios << f;
   ios.flush();
   std::cout << f << " : " << ios.str() << std::endl;
}

没有此调用的输出将是相同的。

那么为什么呢?什么时候应该使用flush()成员函数?

EN

回答 1

Stack Overflow用户

发布于 2012-10-22 04:30:37

在这种情况下,没有充分的理由使用flush。我很有兴趣知道这么多人在哪里。就我个人而言,我不记得曾见过同花顺那样使用过。

大多数时候,我会把这样的代码归因于迷信。有人有一个虫子,他们从来不明白,但他们试着冲洗,然后这个虫子神秘地消失了。使用flush并不是bug消失的真正原因,但它的使用被卡住了。

当您想要立即输出缓冲的数据时,应该在缓冲的流上使用flush。

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

https://stackoverflow.com/questions/13001880

复制
相关文章

相似问题

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