c++可以进行重载函数是因为名字粉碎不同以及外部关键字问题。根据C和C++中对函数调用的修饰来看,C的修饰只最多知道参数的字节数,但是不知道参数和返回值类型,但C++修饰符可以知道返回值类型和参数类型,进而判断函数是否存在二义性,是否可以重载?
例:int __stdcall my_add_int(int a,int b){}
C:_my_add_int@8
C++:?my_add_int@@YGHHH@Z
c++可以进行重载函数是因为名字粉碎不同以及外部关键字问题。根据C和C++中对函数调用的修饰来看,C的修饰只最多知道参数的字节数,但是不知道参数和返回值类型,但C++修饰符可以知道返回值类型和参数类型,进而判断函数是否存在二义性,是否可以重载?
例:int __stdcall my_add_int(int a,int b){}
C:_my_add_int@8
C++:?my_add_int@@YGHHH@Z