C ヘッダー ファイルに値の列挙があります。各値が列挙値の 1 つに対応する追加の配列または値のグループを定義したいと考えています。基本的に、配列は、列挙された各値に関連する情報のルックアップ テーブルになります。ただし、コンパイル時にヘッダーファイルでこれを行いたいです。
これを達成するための良い方法は何ですか?
以下は、2 つの個別の列挙型または定義構造体を使用してそれを実現する方法の例です。op列挙型のみを使用してこれを達成するためのよりエレガントな方法はありますか?
enum op {
op1,
op2,
op3
};
enum op_information {
op1_info = 0xff,
op2_info = 0xf3,
op3_info = 0xc1
}
更新:参照を使用して配列を静的に定義する方法があれば、私にとって同様に貴重な助けになります。つまり、次のようにする代わりに:
ushort op_information = { 0xff, 0xf3, 0xc1 },
達成できるか
ushort op_information[3]
op_information[op.op1] = 0xff;
op_information[op.op2] = 0xf3;
op_information[op.op3] = 0xc1
コンパイル時に?