int add(int x,int y){
return x+y;
}
float add(float x,float y)
{
return x+y;
}
在C语言中如果单独的一个add函数,编译后的函数名是_add,
而在C++编译器中,int add(int x,int y)会编译成类似_add_int_int这样的名字(称为“mangled
name”),float add(float x,float y)则被编译成_add_float _float,mangled name包含了函
数名、函数参数数量及类型信息,C++依靠这种机制来实现函数重载。
所以,在C++中,本质上int add( int x, int y )与float add( float x, float y )是两个
完全不同的函数名而已。,只是在用户看来其同