- 締切済み
enumの基礎
下記のソースをenumを使わずに定義するとどのようになるんですか? 下記のソースの意味が分かるように教えてください。 enum {FALSE, TRUE} i = FALSE;
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- gimmick
- ベストアンサー率49% (134/270)
回答No.2
「enum {FALSE, TRUE} i = FALSE;」は enum BOOL {FALSE, TRUE}; enum BOOL i = FALSE; と同じ事です。(列挙型に名前をつけない点が違いますが。) また、「{FALSE, TRUE}」を「{FALSE = 0, TRUE = 1}」としても同様です。 >下記のソースをenumを使わずに定義するとどのようになるんですか? #define FALSE 0 #define TRUE 1 int i = FALSE; としたらいいと思います。intが嫌だったら typedef int BOOL; とでもしてください。 #こんな質問するくらいだからC++ではないんだろうと考え、bool型には触れませんでした。
- honiyon
- ベストアンサー率37% (331/872)
回答No.1
こんにちは、honiyonです。 全く同じ、というわけにはいませんが・・・ その1 bool i; i = FALSE; その2 #define _TRUE 0 #define _FALSE 1 int i; i = _FALSE; ※TRUE/FALSEは標準で定義されているので先頭にアンダーバーをつけてます。 参考になれば幸いです(..
お礼
この1つ上の質問はSetEndOfFileで解決しました。
補足
ありがとうございます。 もう少し教えてください。 #define sin 0 #define gi 1 上記は enum {sin = 0, gi = 1}; と同じですか? enum {sin = 0, gi = 1}; int i = sin; を1行で書いたものが enum {sin = 0, gi = 1} i = sin; ですか?