5

私は常に列挙型の名前をその値に追加していることに気付きます。そうしないと、他の列挙型と競合することがよくあるためです。たとえば、次のようになります。

typedef enum
{
    A_ONE,
    A_TWO,
} A;

typedef enum
{
    B_ONE,
    B_TWO,
} B;

Cでこれを行うためのより良い方法はありますか?

4

2 に答える 2

2

いいえ、ありません。C ++には名前空間、つまりクラス(IIRC)に存在する列挙型がありますが、Cはこの点で非常に原始的です。

于 2013-02-01T01:13:25.683 に答える
-1

これはあなた自身の決定ですが、#defineディレクティブを使用できます

#define WHAT_EVER TO_BE_REPLACED

WHAT_EVER定義は、コード内のからに置き換えられますTO_BE_REPLACED

プリプロセッサの実行後にコードをスローすると、すべてが置き換えられます。

于 2013-02-01T01:16:51.130 に答える