2012-03-30 8 views
1

、私は一種の、このように、enumしかし増分は、常にではないような何かをしてに興味が任意の単位で:typedefの列挙型のような変数が、

typedef enum{this=0,that=3,something=5}example; 

私が疑問に思って何です上記のようなことをする最善の方法は、私が上記を集めるように、可能ではないか、アドバイスされていないかのどちらかです。基本的には、特定の整数値を参照するkConstantNamesを使用したいのですが...代わりに#defineステートメントを使用するだけですか?

答えて

2

これは許容されており、かなり正常です。確かに#defineよりも優れています。

マイナーナイトピック:#defineは声明ではありません。コンパイラが見える前に展開されるプリプロセッサ構造体です。

+0

私は "enum"は列挙された値のセットを1の増分で参照していると考えましたか? – johnbakers

+3

これがデフォルトです。 'enum {foo = 1、bar = 2、baz = 4、woz = 8、...}のようなビットマスクを定義するためには、 '。 –

+0

順番にする必要がありますか?またはfoo = 1の前にbaz = 4を置くことができますか? – johnbakers