初识模板

#include<iostream>
using namespace std;

//初识模板


//函数模板
template<typename T>//声明一个模板,告诉编译器后面代码中紧跟着的T不要报错,T是一个通用数据类型
void myswap(T *a, T *b)
{
    T temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

int main(void)
{
    int d = 20;    
    int c = 10;
    //利用模板进行交换

    //1.自动类型推导
    myswap(&d,& c);
    cout << d << endl;
    cout << c << endl;

    //2.显示指定类型
     
    myswap<int>(&d,& c);
    cout << d << endl;
    cout << c << endl;
    return 0;
}

 模板注意事项

  • 模板必须要确定出T的类型,才可以使用
template<class T>//typename可以被class替换掉
void func()
{
    cout << "func调用" <<endl;
}

int main(void)
{
    func();//错误
    func<int >();//随便给函数一个指定类型
    return 0;
}

 

posted @ 2021-01-12 21:23  loliconsk  阅读(80)  评论(0)    收藏  举报