模板06-普通函数与函数模板调用规则

本文介绍了C++中函数模板的使用,包括与普通函数的调用优先级,如何通过空模板参数列表强调,以及模板函数的重载。实例展示了模板函数在不同场景下的应用。
摘要由CSDN通过智能技术生成

1、如果函数模板和普通函数都可以实现,优先调用普通函数

2、可以通过空模板参数列表来强调调用函数模板

3、函数模板也可以发生重载

4、如果函数模板可以发生更好的匹配,优先调用函数模板

#include <iostream>
using namespace std;

int my_add (int a, int b);
// {
//     cout << "normal function" << endl;

//     return a + b;
// }

template <class T>
T my_add (T a, T b)
{
    cout << "template function " << endl;

    return a + b;
}

template <class T>
T my_add (T a, T b, T c)
{
    cout << "template function " << endl;

    return a + b;
}

int main ()
{
    int a = 10;
    int b = 20;
    my_add<>(a, b);

    my_add<int>(a, b);

    my_add(a, b, 100);

    //优先调用模板函数
    char c = 'a';
    char d = 'b';
    my_add(c, d);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值