我注意到ofstream
中的operator <<
不是const
。很明顯,這個操作符會改變文件的內容,但是它在ofstream
對象內部會發生什麼變化?爲什麼<< instream中的運算符不是const?
換句話說,如果我有ofstream
作爲一個類的成員函數,我想打電話就可以了<< operator
一個const
成員函數中我必須把它改成non-const
成員函數或標記ofstream
作爲mutable
但似乎沒有從抽象的角度對我來說是邏輯的..我錯過了什麼嗎?
至少,它將改變流對象的緩衝區內容。 –
如果寫入失敗,它也可以改變狀態。 –
@latedeveloper我應該知道它的內部緩衝區?我的意思是他們可以讓它變得可變,因爲它是非常內在的東西 –