MW211 EXIT

devlog
C/signのキャスト
2014年06月23日
「int」型と「unsigned int」型を比較する場合に、
キャストする必要があった場合、どちらをキャストすべきか?

  (1) 「(unsigned int)int_value ==      unsigned_int_value」
  (2) 「              int_value == (int)unsigned_int_value」

  (1) 「-1」が「65535(4294967295)」とみなされる
  (2) 「65535(4294967295)」が「-1」とみなされる

どちらかというと(1)の方が(2)よりも頻度が高いだろう。
ということで、30000にも満たないループインデックスとかを
「unsigned int」型(「size_t」など)と比較する場面があった場合には
(1)より(2)の方、つまり「int」型で比較した方がよいということになる。

但し、上記は如何なる場合にも通用する訳ではないので(30000を超える場合など)
注意のこと。
分類:C/C++