受保護的虛成員函式
<streambuf> <iostream>

std::streambuf::overflow

int overflow (int c = EOF);
在溢位時放置字元
其他成員函式呼叫此虛擬函式,用於在不更改當前位置的情況下將字元放入受控輸出序列

寫指標pptr)處沒有可用寫位置時,公共成員函式(如 sputc)會呼叫它來寫入字元。

streambuf 中的預設行為是始終返回 EOF(表示失敗),但派生類可以覆蓋此行為,嘗試直接寫入字元和/或修改 pptr 和其他內部指標,以便提供更多儲存空間,可能將未寫入的字元寫入受控輸出序列。both filebuf and stringbuf override this virtual member function.

引數

c
要放置的字元。
如果這是檔案尾值(EOF),則不放置字元,但會嘗試呼叫此函式的所有其他效果。

返回值

成功時,將使用成員 traits_type::to_int_type 將放置的字元轉換為 int_type 型別的值並返回。
否則,如果 c 引數傳遞的是此值,或者用於指示失敗,則返回檔案尾值(EOF)(某些實現可能會丟擲異常)。

資料競爭

修改*流緩衝區*物件。
同時訪問同一*流緩衝區*物件可能會導致資料競爭。

異常安全

基本保證:如果丟擲異常,*流緩衝區*處於有效狀態。

另見