普通函数和模板函数的区别

#include<iostream>
using namespace std;

//普通函数和模板函数的区别:
//1.普通函数调用可以发生类型转换
//2.函数模板 用自动类型推导 不可以发生隐式类型转换
//3.函数模板 用显示指定类型 可以发生隐式类型转换

int add01(int a, int b)
{
    return a + b;
}

template<typename T>
T add02(T a, T b)
{
    return a + b;
}

int main(void)
{
    int a = 10;
    int b = 20;
    char c = 'c';
    cout << add01(a, c) << endl; //可以发生隐式转换

    //cout << add02(a, c) << endl;//自动类型推导 不能发生隐式类型转换

    cout << add02<int>(a, c) << endl;//显示指定类型 可以发生隐式类型转换

}

 

posted @ 2021-01-14 10:05  loliconsk  阅读(168)  评论(0)    收藏  举报