zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    Linux strip
    有趣的BUG
    GDB watch std::string size
    Redis Cluster Lua
    Double Buffer
    Yarn架构
    天池公交客流预测比赛
    hashmap,ConcurrentHashMap与hashtable的区别
    fail-fast和fail-safe
    常见机器学习算法优缺点
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12106230.html
Copyright © 2011-2022 走看看