gpt4 book ai didi

c++ - 为什么 ofstream 中的 << 运算符不是常量?

转载 作者:太空狗 更新时间:2023-10-29 23:43:47 25 4
gpt4 key购买 nike

我注意到 operator <<ofstream不是 const .很明显,这个运算符将更改文件的内容,但它在 ofstream 中发生了什么变化?对象?

换句话说,如果我有 ofstream作为类成员函数,我想调用 << operator在里面 const成员函数我必须将其更改为 non-const成员函数或标记ofstream作为mutable但从抽象的角度来看对我来说似乎不合逻辑..我错过了什么吗?

最佳答案

因为它在逻辑上改变了流。至少,它会更改流缓冲区中的写入位置。它还可以修改流的状态(例如,发生写入错误时)。

但是(在我看来)更重要的是逻辑可变性。流在写入后不一样了——它有了新的值(value)。如果您的类(class)不关心这个事实,您可以声明您的流成员 mutable

关于c++ - 为什么 ofstream 中的 << 运算符不是常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41369488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com