函数重载的定义:
是函数的一种特殊形式,C++允许在同一作用域中声明几个功能相似的同名函数,这些同名函数的形参列表(参数个数 或类型或顺序)必须不同,常用来处理实现功能相似数据类型不同的问题。
- 返回值相同
- 函数名相同
我们需要搞清楚为什么C语言不支持函数重载,而C++支持???
命名修饰规则
运行需要经过下面4步:
1.预处理:去注释、条件编译、宏替换、头文件的包含
2.编译:生成汇编代码
3.汇编:生成二进制代码、生成符号表
4.链接:合并符号表
C语言的名字修饰规则(_Add)
#include<stdio.h>
int Add(int a, int b);
int main()
{
Add(1, 2);
return 0;
}

C++的名字修饰规则
#include<iostream>
using namespace std;
int Add(int a, int b);
int main()
{
Add(1, 2);
return 0;
}

Linux的名字修饰规则
extern "C"
在C++中使某些函数按照C语言的编程风格来编译
extern "C" int Add(int left, int right);
本文探讨了函数重载的概念,特别是在C++中如何通过改变参数列表实现同名函数的功能扩展,对比C语言,解析了C++支持函数重载的原因,并深入介绍了C、C++及Linux环境下函数的命名修饰规则。
2737

被折叠的 条评论
为什么被折叠?



