• c++之普通函数和模板函数的调用规则


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

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

    3.函数模板也可以重载;

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

    #include<iostream>
    using namespace std;
    
    int myAdd(int a, int b) {
        cout << "调用普通函数" << endl;
        return a + b;
    }
    template<class T>
    T myAdd(T a, T b) {
        cout << "调用函数模板" << endl;
        return a + b;
    }
    template<class T>
    T myAdd(T a, T b,T c) {
        cout << "调用重载函数模板" << endl;
        return a + b;
    }
    void test() {
        int a = 10;
        int b = 20;
        //1这里调用普通函数
        cout << myAdd(a, b) << endl;
        //2这里调用函数模板
        cout << myAdd<>(a, b) << endl;
        //3这里调用重载函数模板
        cout << myAdd(a, b, 100) << endl;
        //4这里调用函数模板
        cout << myAdd('a', 'b') << endl;
    }
    
    int main() {
        test();
        system("pause");
        return 0;
    }
  • 相关阅读:
    正则表达式学习网站
    Longest Substring Without Repeating Characters
    保留小数点后几位数字
    ReentrantLock和synchronized的区别随笔
    范型 小编
    两个线程交替打印字符串
    Gray Code
    Ajax
    堆排序
    Clone Graph
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12106230.html
Copyright © 2020-2023  润新知