私は#define
の束を持っています。値はコントロールできません。彼らは、私はこれらの#define
のすべてをカプセル化し、ローカル(private
とconst
)構造を持ちたいと、私が働いている現在のクラスで例えば#defineをグループ化する最も良い方法
CFG_FILT0
CFG_FILT1
CFG_FILT2
CFG_DELTA0
CFG_DELTA1
CFG_DELTA2
...
、3のグループに対になっています。次に、このクラスのいくつかの関数は、これらの値、を読み込む必要がありますが、前述の3のグループでのみ読み込みます。
for (int idx = 0; chIdx < 3; idx++)
{
GetItem(myStruct[idx].filt)
GetItem(myStruct[idx].delta)
...
}
読みやすさとメモリ使用量の観点から、このような構造を定義するための最良の方法は何ですか?potentiall構造(myStruct
)はこのような何かを可能にすべきですか私はむしろ(上記の例では例えばmyStructFilt
、myStructDelta
)ただ一つの構造ではなく、3 #define
の各グループに1つを持っているでしょう
注
"3つのグループごとに1つではなく、ただ1つの構造を持つことに注意してください。だから、なぜ3つのアイテムの配列を含む構造体を作成しないのですか? – Lundin
より多くの具体的なユースケースがなければ、最も有用な目標とその達成方法を推測することしかできません。 –
潜在的 'GetItem()'のすべての用途のインデックスの値はコンパイル時にわかりますか?私。 'GetItem(1)、GetItem(10)'のように見えるか、変数になりますか? – Sergio