我注意到ofstream
中的operator <<
不是const
。很明显,这个操作符会改变文件的内容,但是它在ofstream
对象内部会发生什么变化?为什么<< instream中的运算符不是const?
换句话说,如果我有ofstream
作为一个类的成员函数,我想打电话就可以了<< operator
一个const
成员函数中我必须把它改成non-const
成员函数或标记ofstream
作为mutable
但似乎没有从抽象的角度对我来说是逻辑的..我错过了什么吗?
至少,它将改变流对象的缓冲区内容。 –
如果写入失败,它也可以改变状态。 –
@latedeveloper我应该知道它的内部缓冲区?我的意思是他们可以让它变得可变,因为它是非常内在的东西 –