5

最大値を取得する必要がある場合、unsigned int またはその他の unsigned c++ データ型に -1 を割り当てても安全ですか?

符号なしデータ型に含めることができる最大値が得られない状況はありますか?

4

2 に答える 2

13

安全のために、 を使用してstd::numeric_limits<unsigned int>::max()ください。-1 を unsigned にキャストすると、主流のプラットフォームでは機能しますが、標準の AFAIR では保証されていません。

UPD:私は自分自身を修正します。(unsigned)-1 は C で UINT_MAX にする必要があります。こちらの回答を参照してください

于 2012-04-25T06:59:04.650 に答える
-1

どの 2 の補数のマシンでも -1 を使用しても問題ないと思います(最近ではこれがすべてだと思います)。

于 2012-04-25T07:02:31.400 に答える