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;
    }
  • 相关阅读:
    many2many
    oneselfone
    one2one
    10-many2one
    08-one2many
    05-curd
    动态SQl
    文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
    expect用法举例
    通过命令修改mysql的提示符
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12106100.html
Copyright © 2011-2022 走看看