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;
}