zoukankan      html  css  js  c++  java
  • c++之普通函数和模板函数的区别

    1.普通函数调用时可以发生自动类型转换(隐式类型转换);

    2.函数模板调用时,如果利用类型自动推导,不会发生隐式类型转换;

    3.如果利用显示指定类的方式,可以发生隐式类型转换;

    #include<iostream>
    using namespace std;
    
    int myAdd(int a, int b) {
        return a + b;
    }
    template<class T>
    T myAdd2(T a, T b) {
        return a + b;
    }
    void test() {
        int a = 10;
        int b = 20;
        char c = 'c';
        //这里进行了隐式的转换,将char转换成了int
        cout << myAdd(a, c) << endl;
        //这里使用c作为实参就会报错
        //cout << myAdd2(a, c) << endl;
        //这种情况下就不会报错,会进行隐式转换
        cout << myAdd2<int>(a, c) << endl;
    }
    
    int main() {
        test();
        system("pause");
        return 0;
    }
  • 相关阅读:
    二叉堆(最小堆, 最大堆)介绍与实现
    C++ 用变量定义数组
    C++ 用变量定义数组
    053185
    053184
    053183
    053182
    053181
    053180
    oracle prior
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12106100.html
Copyright © 2011-2022 走看看