c++template<>
时间: 2023-10-09 14:05:31 浏览: 96
C++template
在 C++ 中,`template<>` 是用于特化模板的法。通过使用 `template<>`,你可以对泛型模板进行特定类型的定制。
下面是一个示例来说明如何使用 `template<>` 进行模板特化:
```cpp
#include <iostream>
// 泛型模板类
template <typename T>
class MyTemplate {
public:
void print() {
std::cout << "General Template" << std::endl;
}
};
// 对特定类型进行模板特化
template <>
class MyTemplate<int> {
public:
void print() {
std::cout << "Specialized Template for int" << std::endl;
}
};
int main() {
MyTemplate<double> obj1;
obj1.print(); // 输出:General Template
MyTemplate<int> obj2;
obj2.print(); // 输出:Specialized Template for int
return 0;
}
```
在这个示例中,我们定义了一个泛型模板类 `MyTemplate`,并为其提供了一个成员函数 `print()`。然后,我们使用 `template <>` 对特定类型 `int` 进行了模板特化,并在特化版本中提供了不同的实现。
在 `main()` 函数中,我们创建了一个 `MyTemplate<double>` 的对象 `obj1`,它使用了通用的模板版本,并输出了 "General Template"。接着,我们创建了一个 `MyTemplate<int>` 的对象 `obj2`,它使用了针对 `int` 类型的特化版本,并输出了 "Specialized Template for int"。
通过使用 `template<>` 进行模板特化,我们可以为特定类型提供定制的实现,以满足不同的需求。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文