I / O流标志如何工作?

时间:2016-03-25 14:36:58

标签: c++ iostream

我正在学习LearnCpp网站,我遇到了这一行“如果发生错误并且流设置为除了goodbit之外的任何内容,则将忽略该流上的进一步流操作。可以通过调用清除此条件clear()函数“。但是在ios_base类中,我注意到标志设置为静态,这意味着它们由类的每个实例共享,这是不是意味着如果例如cin设置为例如fatalbit标志为true则istream类的所有其他实例都赢了'工作?

1 个答案:

答案 0 :(得分:3)

标志本身不会改变,它们是静态常量。每个标准流中存在的基础位掩码有何变化。 clear()做的是重置掩码并设置提供的标志(ios_base::goodbit我的默认值。)