我希望了解有关 uint8_t 与 char、可移植性、位操作、最佳实践、事态等方面的情况。您知道有关该主题的好读物吗?
我想做字节IO。但当然 char 的定义比 uint8_t 更复杂、更微妙;我认为这是引入 stdint 标头的原因之一。
但是,我在多次使用 uint8_t 时遇到了问题。几个月前,一次,因为 iostreams 没有为 uint8_t 定义。是不是有一个 C++ 库在做真正定义良好的字节 IO,即读写 uint8_t?如果没有,我认为没有需求。为什么?
我最近的头痛源于此代码无法编译:
uint8_t read(decltype(cin) & s)
{
char c;
s.get(c);
return reinterpret_cast<uint8_t>(c);
}
error: invalid cast from type 'char' to type 'uint8_t {aka unsigned char}'
为什么会出错?如何使这项工作?