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

std::basic_stringbuf::overflow

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

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

該函式還可以在此函式呼叫的任何時候重新分配緩衝區以使其變大,即使仍有可用寫入位置(儘管這不是必需的)。

如果 c 是*檔案結束*值(traits_type::eof()),則不寫入任何字元,並且*放置指標*(pptr)不會被推進,但如上所述,該函式仍可能重新分配(儘管這不是必需的)。

當*放置指標*(pptr)沒有可用寫入位置時,此虛擬函式由公共成員函式(如 sputc)呼叫以放置字元。

引數

c
要寫入的字元。
如果這是*檔案結束*值(traits_type::eof()),則不寫入任何字元,*放置指標*(pptr)不會被推進,但可能適用其他效果。
成員型別int_type是能夠表示任何字元值或特殊*檔案結束*符的整型。

返回值

如果成功,則返回一個非*檔案結束*值(traits_type::eof())的值:如果字元 c 被成功寫入,則返回 c
否則,返回*檔案結束*值(traits_type::eof())以指示失敗。
成員型別int_type是能夠表示任何字元值或特殊*檔案結束*符的整型。

資料競爭

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

異常安全

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

另見