Uint32 u32;
BYTE u8;
u8 = (BYTE )u32;
とするコードがあったとする。u32 を、ポインタで置き換えたいとき、
Uint32 *pUint32;
u8 = (BYTE )*pUint32;
と書くのも正解だが、
u8 = *(BYTE *)pUint32;
と書くのも正解で、実は、後者の方が効率は良い場合があるとされる。
なぜなら、メモリから前者は4バイト読んでから上位バイトを捨てるが、
後者では最初から上位バイトを読まないから。
この場合、Little Endian だと、後者の書き方でも混乱が少ないが、Big Endian
だと何を意味しているのか分かりにくくなる。というのは、
(BYTE *)のようなポインタ型への cast は、旧来の C では、アドレス値自体は
変更せずに、型だけを変更するというのが伝統的な実装だったため
(ただし、C++ の場合、多重継承していた場合は、その原則を破ってアドレス値が
変化する事があるが。)。
BigEndian の場合、最後の書き方の実装に不安定要素が残るように思える。
C++相談室 part139
■ このスレッドは過去ログ倉庫に格納されています
872デフォルトの名無しさん (ワッチョイ 9161-h5Ay)
2018/12/30(日) 17:52:58.01ID:31DgsdhN0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★5 [七波羅探題★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 ★2 [煮卵★]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- 【高市速報】中国「このままだと日本が先制攻撃してくる」 [583597859]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- 【高市画像】ビッグマック、200円🍔 [683137174]
- 今のVIPPAって「ギコナビ」知らないらしいな
- 【高市悲報】日本が🇨🇳輸出規制したフォトレジスト、早速韓国企業が中国に売り込みかけて日本の対抗手段もうなくなるwww [709039863]
