2012-02-17 9 views
1

私は定義されたパラメータに対応する値で、#defineで定義パラメータやハッシュ値を使用してキーを投入することにより、ハッシュマップ/テーブルを作成したい...だから私は簡単に多くのパラメータを追加することができます将来は。の#defineマクロからハッシュテーブルを移植

 //key //value 
#define paramA 1 
#define paramB 2 

どのような方法がありますか?

+0

ない、時間によってコンパイラはすべてが 'paramA'と' paramB'の言及源が消えています見になりますので。あなたは*さらに*マクロでこれを回避することができますが、それは怒られます。 – Jon

答えて

2

に関係なく、あなたのテーブルを作成する方法の、あなたがテーブルにこれらのメンバーを追加することによって明示的に何とかそれを移入する必要があるとしています。仕事がテーブルに追加することにまだある - あなたのメンバーは、#defineで定義consts、または任意として設定されているのであれば、それは問題ではありません。

実際に値の配列を定義するように#defineを設定し、その配列のサイズを定義するために2番目の#defineを設定するのが、あなたの目標であると考えられます。その後、ループをサイズに基づいて配列を循環させることでハッシュテーブルを作成することができます。

私は、これはしかし、設計のにおいのように聞こえると思いますが、あなたがやっていることを再考し、より良い方法を見たいと思うかもしれません - おそらくデータベースまたはファイルからの読み込みのような?マクロを

+0

ありがとう、私は構造体の配列を実装するつもりだと思う。 – Telenoobies