演算子が異なる演算子を持つ列挙型があります。
enum OperatorsTypes
{
Zero, Division, Equal, If, Minus, Multiplication, One, Plus, RandomNumber, Time
};
オペレーターごとにコンタクト数が異なります。たとえば、プラス - 2 つの連絡先がカウントされ、乱数 - ゼロがカウントされます。オペレーターに関連付けられた連絡先カウントを保存および使用する基本的な方法は何ですか。
私は3つのオプションを検討しました:
1) OperatorsTypes と同じインデックスを持つ配列を使用し、値 = 連絡先数。
2) 次の宣言を使用します。
enum OperatorsTypes
{
Zero = 0, Division = 12, Equal = 21, If = 32, Minus = 42, Multiplication = 52, One = 60, Plus = 72, RandomNumber = 81, Time = 90,
};
ここで、最初の桁は ID 番号で、2 番目の桁は連絡先の数です。次に、いくつかの静的メソッドで % 演算子を使用して、OperatorsTypes 値からオペレーターの連絡先数を見つけることができます。
3) いくつかの静的メソッドでスイッチを使用する
しかし、このアプローチにはすべて欠点があります... (注意 - 私のコードは最高速度でなければなりません)。beatifull と top-speed の両方で C++ でこのタスクを実行するためのより良い方法はありますか?