我正在编写我自己的hash_table实现(只是为了好玩)。我想实施一系列哈希例程,让用户有机会选择一个带有ID的人。为此,我想使用一个能生产合适散列器的工厂。哈希是类模板。是否有可能为产品模板编写工厂,而不使用类型列表等任何类型来指定提供的每种可能类型?我最关心产品注册。产品模板工厂
更一般。我的产品是:
template <typename X>
class i_prod
{
};
template <typename X>
class c_prod_a : public i_prod {
};
template <typename X>
class c_prod_b : public i_prod {
};
该工厂也是一个类模板。但如何理清注册过程?
您在那里使用了一些非常古怪的行话,例如“类模板”(通常指的是模板类的声明,而不是实例)和“产品模板”(我不知道这是什么)。另外,您还没有提到任何有关产品模板如何融入这个故事的内容。 – Wug
除非你想在运行时切换哈希函数*,否则工厂不是正确的方法。 –