受保護的虛成員函式
<sstream>

std::stringbuf::overflow

int overflow (int c = EOF);
放置字元
將字元 c 寫入“put”指標(pptr)的當前位置,並將該指標向前移動一個位置。

如果沒有可用位置,並且 stringbuf 物件是用 ios_base::out 構建的,則該函式首先嚐試使更多寫入位置可用,必要時重新分配內部緩衝區:這可能會修改輸入和輸出控制序列的指標(最多為 ebackgptregptrpbasepptrepptr 中的所有指標)。

該函式還可能在每次呼叫此函式時重新分配緩衝區以使其更大,即使仍有可用寫入位置(儘管不強制要求這樣做)。

如果 cEOF,則不寫入任何字元,也不移動“put”指標(pptr),但仍可能發生上述重新分配(儘管不強制要求這樣做)。

當“put”指標(pptr)沒有可用寫入位置時,此虛擬函式會被 sputc 等公共成員函式呼叫以寫入字元。

引數

c
要寫入的字元。
如果這是 EOF,則不寫入任何字元,也不移動“put”指標(pptr),但可能適用其他效果。

返回值

如果成功,則返回值不為 EOF:如果字元 c 已成功寫入,則返回 c
否則,返回 EOF 以表示失敗。

資料競爭

修改 stringbuf 物件。
併發訪問同一物件可能導致資料競爭。

異常安全

基本保證:如果丟擲異常,物件處於有效狀態。

另見