C ++ 17
C ++ 17 введено std::byte
специально для этого.
Его определение на самом деле просто: enum class byte : unsigned char {};
.
Я обычно использовал unsigned char
в качестве базовой структуры (не хочу, чтобы подпись портилась с моим буфером, потому что я знаю, по какой причине). Однако я обычно печатал это так:
// C++11
using byte = unsigned char;
// C++98
typedef unsigned char byte;
А затем обозначьте его как byte*
, который, на мой взгляд, четко передает значение, лучше, чем, по крайней мере, char*
или void*
.