有这个代码:
template<typename T, template<typename, typename> class OuterCont, template<typename, typename> class InnerCont, class Alloc=std::allocator<T>>
class ContProxy {
OuterCont<T, InnerCont<T, Alloc>> _container;
};
typedef ContProxy<int, std::vector, std::list> IntCont;
但在某些情况下需要使用T*
而不是std::list<T>
as - 像这样:InnerCont
template<typename T, template<typename, typename> class OuterCont, T*, class Alloc=std::allocator<T>>
class ContProxy {
OuterCont<T, T*> _container;
};
在这种情况下是否可以使用“模板模板”参数的部分专业化?
或者如何以最小的头痛存档它..