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

std::streambuf::underflow

int underflow();
在下溢時獲取字元
由其他成員函式呼叫的虛擬函式,用於獲取受控輸入序列中的當前字元,而不改變當前位置。

get指標gptr)沒有可用讀取位置時,它會被 sgetc 等公共成員函式呼叫,以請求一個新字元。

streambuf 中的預設行為是返回 gptr 指向的字元(不移動指標),前提是該位置有可用字元。或者,如果沒有字元,則函式始終返回 EOF(表示失敗),但派生類可以重寫此行為,以修改 gptregptr 內部指標,從而使更多輸入序列的字元可以透過緩衝區訪問(如果這些字元可用)。filebufstringbuf 都重寫了此虛成員函式。

引數



返回值

受控輸入序列當前位置的字元,型別為 int
如果受控輸入序列中沒有更多字元可供讀取,則函式返回檔案結束值(EOF)。

資料競爭

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

異常安全

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

另見