Далее вниз по странице:
Многие реализации не обновляют область get в seekpos (), делегируя функцию underflow (), которая вызывается следующей sgetc ()
и:
в некоторых реализациях область get очищается с помощью seekpos (), а второй underflow () необходим для наблюдения за эффектами
Looksкак будто это то, что случилось с вами.
Он открыт для толкования того, что означает «обновление».Стандарт здесь очень гибок (обратите внимание на отсутствие явных постусловий), в основном говоря, что «реализация выполняет все, что ей нужно для осуществления своего бизнеса».
В этом конкретном случае ваш filebufреализация, вероятно, освободила область get, когда вы искали, а затем «заполнит» ее в следующем underflow () - возможно, обе согласованные операции являются «обновлением», но, если честно, вы можете вращать ее любым удобным вам способом.