Теперь, когда С++ 17 имеет std::byte
, я искал способ конвертировать код, который считывает файлы в char
в код, который читает файлы в byte
. Файл содержит байты, а не целую цепочку.
Затем я прочитал этот вопрос и этот другой вопрос, где люди утверждали, что чтение файлов в byte
неверно, и что чтение файлов в char
является правильным.
Если byte
не предназначен для доступа к памяти и по аналогии с файлами, то какова его цель? Как указано в двух других вопросах:
Подобно char и unsigned char, его можно использовать для доступа к необработанной памяти занятых другими объектами (представление объектов), но в отличие от этих типов, это не тип символа и не является арифметическим типом. байт - это только набор бит, и только побитовые логические операторы для него определены.
Это похоже на точный тип, который должен использоваться для чтения файлов, а не символов.