我正在编写自己的 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 {
};
工厂也是一个类模板。但是如何理清注册流程呢?