我想要一个包装容器的模板类,但我想根据模板参数的值选择要包装哪个容器。 喜欢的东西:根据模板参数包装类型容器的模板类
template<typename T>
class A{
std::vector<T> MyContainer;
// ...
}
template<>
class A<bool>{
std::deque<bool> MyContainer;
// ...
}
但避免所有的代码重复该模板专业化涉及。我试图看看std::enable_if
是否可以帮助我做一些技巧,但我还没有想到任何方法。
什么简单地提供容器类型作为另一个(依赖)模板参数? – 2014-11-02 12:28:53
我不知道你的例子是否真实,但你必须知道'std :: vector'在STLibrary中已经不同了。 –
Caduchon
2014-11-02 12:35:40
@πάνταῥεῖ这太难看了。这个班的使用者不需要照顾那个。这是班级的业务,那么班级应该照顾它。 – Kae 2014-11-02 12:35:42