rub*_*buc 5 c++ templates class-method
类成员函数可以是模板函数,还是必须是静态类函数.基本上可以根据需要在技术上实例化类和功能吗?
使用模板函数作为模板类的成员有什么限制?两者都可以同时完成,还是两者都是?
您可以拥有模板类的模板成员函数,如下所示:
template <typename T>
class Foo {
public:
template <typename U>
void bar(const T& t, const U& u);
};
template <typename T>
template <typename U>
void Foo<T>::bar(const T& t, const U& u) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
类方法可以是模板.唯一的限制是它们不能是虚拟的.
编辑:
更完整的是,构造函数也可以是模板
class X
{
template<typename T>
X( T t )
{
}
};
Run Code Online (Sandbox Code Playgroud)
但是,当然,应该只有一个非模板析构函数