私は、一日、一週間または一ヶ月に一意のIDを生成するためのさまざまな戦略を持つ一意のIDジェネレータを作成しています。 仮想関数機構を持つクラスの階層を作成したくありません列挙型に基づいてテンプレートを作成することをお勧めしますか?
次のコードスニペットのようなことをやっていますか? 提案がありますか?
enum Duration { Day, Week, Month };
template <Duration d>
class IDGenerator
{
generateId();
}
これは完全にうまく動作します。この場合、それぞれの 'if'節は完全に最適化されます。あるタイプのクラステンプレートを専門にするほど強力ではないことに注意してください(多くの/ほとんどの人がここでは「より少ないパワー」を好むでしょうが)。 – Damon
「良いアイデア」を定義します。 –