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

总结:
使用模板时必须确定出通用数据类型T,并且能够推导出一致的类型

猜你喜欢

转载自blog.csdn.net/gyqailxj/article/details/113998468