【发布时间】:2011-04-26 06:58:23
【问题描述】:
我有一个类模板,期待其他模板作为参数:
template<
class Key,
template <typename K,template <typename T> class Allocator> class Policy
>
class container {
Policy<Key,Allocator>* _policy;
//some code here
};
通常我将它与这样的策略类一起使用:
template <class Key,template <typename T> class Allocator> class policy {
//some code
};
但是如果我必须将额外的模板参数传递给策略类怎么办?比如:
template <time_t Age,class Key,template <typename T> class Allocator> class policy_3 {
//some code
};
我该怎么做才能让该类的用户在不接触其他人的情况下通过年龄参数?例如:
typedef container<key_type,policy_3<100500> > containerWithAge;
【问题讨论】:
-
将模板更改为简单的
template<class Key, class Policy>不是我认为的选项? :P
标签: c++ templates metaprogramming