受保護的虛擬函式成員
<streambuf> <iostream>
在下溢時獲取字元
由其他成員函式呼叫的虛擬函式,用於獲取受控輸入序列中的當前字元,而不改變當前位置。
當get指標(gptr)沒有可用讀取位置時,它會被 sgetc 等公共成員函式呼叫,以請求一個新字元。
在 streambuf 中的預設行為是返回 gptr 指向的字元(不移動指標),前提是該位置有可用字元。或者,如果沒有字元,則函式始終返回 EOF(表示失敗),但派生類可以重寫此行為,以修改 gptr 和 egptr 內部指標,從而使更多輸入序列的字元可以透過緩衝區訪問(如果這些字元可用)。filebuf 和 stringbuf 都重寫了此虛成員函式。
返回值
受控輸入序列當前位置的字元,型別為 int
。
如果受控輸入序列中沒有更多字元可供讀取,則函式返回檔案結束值(EOF)。
資料競爭
修改*流緩衝區*物件。
同時訪問同一*流緩衝區*物件可能會導致資料競爭。
異常安全
基本保證:如果丟擲異常,*流緩衝區*處於有效狀態。