函数模板

template <typename AnyType>

void Swap(AnyType &a,AnyType &b)// AnyType *a是数组

{

  AnyType temp;

  temp=a;

  a=b;

  b=temp;

}

template<> void Swap<typename>(struct& a,struct&b)

int m=6 double x=10.2

cout<<swap<double>(m,x) 此时强制类型向double转换

 

编译器按照以下顺序决定使用哪个函数版本

1.完全匹配 (但常规函数优先于模板)

2 提升转换 (如int转long char转int)

3 标准转换 (int转char long转double)

4 用户自定义转换

posted @ 2021-06-19 13:30  旅玖旅玖  阅读(14)  评论(0编辑  收藏  举报