重载函数匹配机制
回顾:
在这篇文章中,具体的讲述了,C++函数重载的实现,是因为编译器底层使用了命名倾轧的技术,来使得相同作用域下,同名函数,依靠参数列表的不同,来进行特化区分.
也就是 c++函数名linux 下编译器命名规则为: 命名空间+函数名长度+函数名+参数类型
现在 ,我们知道了,重载的实现机制
但是仅仅依靠参数列表的不同,就能够完美的实现精准的调用吗?
你在使用的过程中难道就没有遇见过函数二义性调用吗?
如果没有请思考下列代码
#include<iostream>
#include<string>
class A
{
public:
void print(int a,int b)
{
std::cout<<" i i"<<std::endl;
}
void print(double a,int b)
{
std::cout<<"d d"