< />

C++简单模板template kisara

C++简单模板template

需要多个对不同类型使用同一种算法的函数,可以使用模板。通过将类型作为参数传递给模板,可使编译器生成该类型的函数。

#include <iostream>
template <typename T>
double add(T a,T b){//模板
    return a+b;
}
template <class T>
void Swap(T &a,T &b){//模板
    T temp=a;
    a=b;
    b=temp;
}
int main() {
    using namespace std;
    double x=1;
    double y=2;
    cout<<add(x,y)<<endl;
    Swap(x,y);
    cout<<x<<" "<<y<<endl;
    return 0;
}

模板也有很多局限性,比如当T是数组的时候下面的操作将无法执行

x=y;

还有当 x 和y为不同类型的时候

char x;
double y;
add(x,y);

这样会出错

kisarawechat kisaraalipay