1. ホーム
  2. c++

[解決済み] C++の列挙型は符号付きか符号なしか?

2022-09-21 05:16:37

質問

C++の列挙型は符号付きですか、それとも符号なしですか? また、その延長で、入力が <= 最大値であることをチェックし、>= 最小値 (0 から始めて 1 ずつ増加したと仮定) を除外して検証することは安全でしょうか?

どのように解決するのですか?

特定の表現に頼るべきではありません。 以下を読んでください。 リンク . また、この規格では、enum の基礎となる型としてどの積分型を使用するかは実装定義であるとしていますが、int または unsigned int に収まらない値がある場合を除き、int より大きくしてはならない、としています。

要するに、enum が符号付きか符号なしかのどちらかであることに依存してはいけないのです。