Coffeehouse Post

Single Post Permalink

View Thread: c++标准转换编译怎样实现????
  • User profile image
    lining

    对于普通函数:void fun(double );
    如果这样调用:fun(2);会发生隐式转换 int->double的提升.
    我们都知道c++的常规name mangling规则,根据函数名和参数进行mangling。

    编译时刻是怎么决议调用哪个函数的?
    是不是这样:
    fun(int):mangling后查找,未找到
    提升int->double
    mangling后查找。
    根据c++标准转换规则依次转换后(每次都要mangling),然后对比?????

    还是先匹配函数名->然后查看参数,不匹配则进行转换并查找到->->然后再mangling后再调用函数????