C++ 函数重载

2021-05-26  本文已影响0人  严青_

函数重载

void dispaly(){
}

void dispaly(int a) {
}


void dispaly(long a) {
}

int dispaly(int a , double b) {
    return 0;
}

特性

原理

C++编译器(MSVC,G++,GCC,LLVM,Clang...)对C++代码编译时会对函数及其参数或者参数名进行编码操作,运行时实际调用的是不同的函数名(类似于代码混淆),专有名词叫name mangling或者叫name decoration ,而C语言是不支持函数重载的,也是因为没有才有这样的技术

证明

release模式下运行Demo.使用IDA反编译查看编译结果

image.png
上一篇 下一篇

猜你喜欢

热点阅读