我正在编写一个独特的ID生成器,它具有不同的生成Id的策略,这些策略在一天,一周或一个月内是唯一的。 我不想创建具有虚函数机制的类层次结构
正在做类似下面的代码片段,这是一个好主意吗? 有什么建议吗?
enum Duration { Day, Week, Month };
template <Duration d>
class IDGenerator
{
generateId();
}
答案 0 :(得分:5)
是可以接受的,如果编译时多态性足够 ,它只能用于文件 - 您将节省虚拟调用,这将允许更好的编译器协作。
答案 1 :(得分:-1)
如上所述,它不必要地令人困惑。只需创建三个具有不同名称的类。