如何编写模板类方法的专用化
How to write specializations of a method of a template class
我正在为动态列表编写一个模板类,该类允许您插入三种不同类型的数据。我想创建三种方法来使用专业化在列表中插入项目。正确的方法是什么?
template <class T, class U, class V> class list
{
.....
}
template <> list <class T> :: add (T item) {
...
// insert elem type T
...
}
template <> list <class U> :: add (U item) {
...
// insert elem type U
...
}
template <> list <class V> :: add (V item) {
...
// insert elem type V
...
}
你根本不需要专业化。只需将add
函数定义为
void add(T item) {}
void add(U item) {}
void add(V item) {}
(来自班级内部)。
下面是一个匹配的示例。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 在静态库中嵌入类方法
- 如何制作一个将函数作为参数的类方法
- 从父类方法返回子类对象
- 使用用户定义的参数调用future/async并调用类方法
- 重载类方法的不明确调用
- 单独定义模板化嵌套类方法的正确语法
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- 从非模板类调用专用模板方法
- 模板类方法的部分专用化或实例化
- 具有与专用列表一起使用的参数列表的超类方法<superclass>
- 具有专用参数的类方法
- 混合显式类专用化和类方法专用化
- 非模板类方法的条件模板专用化
- 不完整类型(类方法专用化)的使用无效
- "Faking" 具有enable_if的模板类方法专用化
- 类方法上的C++类型特征:如果参数为枚举,则部分专用化
- 如何编写模板类方法的专用化
- 为命名空间中的类专用化方法模板
- 在对类方法执行指针部分专用化时获取"illegal use of explicit template arguments"