为什么这么多人在这样的情况下使用std::ostringstream对象的flush()成员函数:
#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()成员函数?
发布于 2012-10-22 04:30:37
在这种情况下,没有充分的理由使用flush。我很有兴趣知道这么多人在哪里。就我个人而言,我不记得曾见过同花顺那样使用过。
大多数时候,我会把这样的代码归因于迷信。有人有一个虫子,他们从来不明白,但他们试着冲洗,然后这个虫子神秘地消失了。使用flush并不是bug消失的真正原因,但它的使用被卡住了。
当您想要立即输出缓冲的数据时,应该在缓冲的流上使用flush。
https://stackoverflow.com/questions/13001880
复制相似问题