uint8_t 対 char、移植性、ビット操作、ベスト プラクティス、状況などに関する状況を理解したいと思います。トピックに関する良い読み物を知っていますか?
バイトIOをしたいです。しかしもちろん、char には uint8_t よりも複雑で微妙な定義があります。これが stdint ヘッダーを導入した理由の 1 つだと思います。
ただし、uint8_t を複数回使用すると問題が発生しました。uint8_t の iostream が定義されていないため、数か月前に 1 回。本当によく定義されたバイト IO、つまり uint8_t の読み取りと書き込みを行う C++ ライブラリはありませんか? そうでなければ、需要はないと思います。なんで?
私の最近の頭痛の種は、このコードのコンパイルの失敗から生じています。
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}'
エラーの理由 これを機能させる方法は?