天天看點

C++函數模闆注意事項

C++函數模闆注意事項

注意事項:

*

自動類型推導,必須推導出一緻的資料類型T,才可以使用

*

模闆必須要确定出T的資料類型,才可以使用

#include<iostream>
using namespace std;
//函數模闆注意事項
template<class T>//typename可以替換成class
void mySwap(T&a, T&b)
{
       T temp = a;
       a = b;
       b = temp;
}
//1.自動類型推導,必須推導出一緻的資料類型T才可以使用
void test01()
{
       int a = 10;
       int b = 20;
       char c= 'c';
       //mySwap(a, b);//正确
       //mySwap(a, c);//錯誤! 推導不出一緻的T類型
       cout << "a=" << a << endl;
       cout << "b=" << b << endl;
}
//2.模闆必須要确定出T的資料類型,才可以使用
template<class T>
void func()
{
       cout << "func 調用" << endl;
}
void test02()
{
       func<int>();
}
int main()
{
       //test01();
       test02();
       system("pause");
       return 0;
       
}