为什么有这么多人在这种情况下对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()成员函数?
答案 0 :(得分:2)
在那种情况下,没有充分的理由使用同花顺。我很想知道这么多人在哪里。就我个人而言,我不记得曾经看过这样的同花顺。
大多数时候我会把这样的代码归结为迷信。有人有一个他们从未理解的错误,但他们尝试了同花顺,神秘地将虫子消失了。使用flush并不是bug消失的真正原因,但它被卡住了。
如果要立即输出缓冲数据,则应在缓冲流上使用flush。