本文主要是介绍一个简单的泛型编程例子,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
template <typename T>
void myswap(T& a, T& b) {
T tmp = a;
a = b;
b = tmp;
}
template:告诉编译器,即将开始泛型编程
typename T:告诉编译器后面代码中,T是一个泛指类型。
― 编译器并不是把函数模板处理成能够处理任意类型的函数
― 编译器从函数模板通过具体类型产生不同的函数
― 编译器会对函数模板进行两次编译
- 在声明的地方对模板代码本身进行编译
- 在调用的地方对参数替换后的代码进行编译
类模板
使得类可以不用关心具体的数据类型,只关注类需要提供的功能。
template <typename T>
class MyClass {
public:
T add(T& a, T& b);
};
template <typename T>
T MyClass<T>::add(T& a, T& b) {
return a + b;
}
这篇关于一个简单的泛型编程例子的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!