Это не константа, потому что интерфейс streambuf
не знает, как вы заполняете буфер. Например, методы underflow
и uflow
могут извлечь n байтов из файла или аналогичного файла и заполнить существующий буфер streambuf. Вы также можете использовать одно и то же хранилище для буферов для потока чтения / записи. Streambuf - это буфер, кеш, если хотите. Он находится между функциональностью [io]stream
и фактическим базовым символьным потоком (обычно файлом). Это окно в этом основном потоке, и имеет смысл повторно использовать хранилище для этого окна (что означает, что оно, вероятно, не является постоянным).
Безопасно ли отбрасывать постоянство? Может быть. Это будет зависеть от фактической реализации streambuf и от того, как она используется.