В дополнение к @ybungalobill ответ ...
В C и C ++ char
имеет два значения: либо как истинное char
, либо как "байт".Я сам предпочитаю использовать unsigned char
в качестве байта и обычно печатать его как что-то разборчивое, но, тем не менее, это то, что вы должны знать.
Поэтому то, что вы видите здесь, это манипулирование необработаннымпамять (типично для распределителя), которая отображается в виде массива char
в buffers_ = new char[len];
.
. Затем автор возьмет куски этого массива и использует reinterpret_cast
, чтобы указатькомпилятору то, что он хочет сохранить в этом месте в памяти.
Это, очевидно, низкоуровневое вмешательство (небезопасный тип), а не то, с чем вам бы хотелось ежедневно путаться.