C++ 为什么<&书信电报;流中的运算符不是常量?

C++ 为什么<&书信电报;流中的运算符不是常量?,c++,ofstream,C++,Ofstream,我注意到操作符,因为它在逻辑上改变了流。对于最小值,它会更改流缓冲区中的写入位置。它还可以修改流的状态(例如,当发生写入错误时) 但在我看来,更重要的是逻辑上的可变性。流在写入之后是不同的-它有新的值。如果你的类不关心这个事实,你可以声明你的流成员是可变的,因为它可能会调用非常量的,因为它改变了对象的内部结构,如中所述。请记住,虽然流的本身不需要修改来写入(即使它可能应该这样做),ostringstream至少也继承了,它将更改流对象的缓冲区内容。如果写入失败,它还可以更改状态。@latedev

我注意到
操作符,因为它在逻辑上改变了流。对于最小值,它会更改流缓冲区中的写入位置。它还可以修改流的状态(例如,当发生写入错误时)


但在我看来,更重要的是逻辑上的可变性。流在写入之后是不同的-它有新的值。如果你的类不关心这个事实,你可以声明你的流成员是可变的,因为它可能会调用非常量的,因为它改变了对象的内部结构,如中所述。

请记住,虽然流的
本身不需要修改来写入(即使它可能应该这样做),
ostringstream
至少也继承了
,它将更改流对象的缓冲区内容。如果写入失败,它还可以更改状态。@latedeveloper我应该知道它的内部缓冲区吗?我的意思是,它们可以使它可变,因为它是非常内部的东西