【发布时间】:2010-10-29 03:06:57
【问题描述】:
我发现模板方法可能被重载,我可以在模板类上做同样的事情吗?如果有2个模板类匹配一个模板类实例化,我们可以使用构造函数中的参数类型来推断使用哪一个。
template <typename T>
class A{
A(T){}
};
template <typename T>
class A{
A(T*){}
};
int main(){
A<int*> a((int*)0);
A<int> a((int*)0);
return 0;
}
【问题讨论】:
-
请注意:反引号语法用于内联代码。当你想格式化代码块时,每行缩进四个空格。 daringfireball.net/projects/markdown
-
模板类可以专门化(部分或完全)
-
@Jonathan Sterling,感谢您的提示。如何缩进 4 个空格的块代码?似乎整个块上的选项卡不起作用。有什么捷径可以做到这一点吗?还是我需要逐行插入空格?
-
Tan:4 个空格不是重点。关键是代码 sn-p 应该至少看起来像带有一些缩进的代码。使用工具栏中的“101”图标
-
选择代码行并按 ctrl-k(或 101 按钮)是处理代码清单的最佳方式。
标签: c++ templates overloading specialization