Я всегда задавался вопросом, почему в библиотеке С++ Standard создан экземпляр basic_ [io] и все его варианты с использованием типа char
вместо типа unsigned char
. char
означает (в зависимости от того, подписана она или нет) у вас может быть переполнение и недополнение для таких операций, как get(), что приведет к определенному реализацией значения переменных. Другим примером является то, что вы хотите вывести байт, неформатированный, в ostream, используя его функцию put
.
Любые идеи?
Примечание. Я все еще не очень убежден. Поэтому, если вы знаете окончательный ответ, вы все равно можете опубликовать его.