LoginSignup
1
0

用途

オブジェクトのバイト数を表現できる程度に十分に大きい符号なし整数型の最大値を取得したい場合に使用する。

疑問:c++(c言語)整数型のオーバーフロー時の挙動は未定義ではなかったか?

疑問の通り、"符号あり整数型"の場合は未定義である。ただし、符号なし整数型のときはモジュロ算術(最大値(最小値)を超えると、最小値(最大値)から再度計算する。)に基づくことがC言語標準で規定されている。

結論

size_tは「オブジェクトのバイト数を表現できる程度に十分に大きい符号なし整数型」のため、オーバーフロー時は符号なし整数型のときの挙動となる。
よって、オーバーフローによるバグが発生する心配は無く、安全に最大値を取得できる。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0