我正在学习LearnCpp网站,我遇到了这一行“如果发生错误并且流设置为除了goodbit之外的任何内容,则将忽略该流上的进一步流操作。可以通过调用清除此条件clear()函数“。但是在ios_base类中,我注意到标志设置为静态,这意味着它们由类的每个实例共享,这是不是意味着如果例如cin设置为例如fatalbit标志为true则istream类的所有其他实例都赢了'工作?
答案 0 :(得分:3)
标志本身不会改变,它们是静态常量。每个标准流中存在的基础位掩码有何变化。 clear()
做的是重置掩码并设置提供的标志(ios_base::goodbit
我的默认值。)