C++ 函数重载
一组函数,函数名相同。函数的参数类型或参数个数不同,那么这一组函数就称作函数重载。
C++ 为什么支持函数重载?
- C++代码产生函数符号的时候,是由函数名+参数列表组成的;
- C代码产生函数符号的时候,是由函数名来决定;
函数重载需要注意什么?
-
一组函数如果是重载函数,一定是处于同一作用域。否则函数调用时会优先调用处于当前最近作用域的那个函数。
bool compare(int a, int b) {} bool compare(char a, char b) {} bool compare(double a, double b) {} int main() { bool compare(int a, int b); //所有的函数调用都会调用 bool compare(int a, int b) {},因为处于同一作用域 compare(1, 4); compare(1.0, 4.0); compare('1', '4'); }
-
一组函数被 const、volatile修饰时是重载吗?
-
一组函数,函数名相同、参数列表也相同,仅仅是返回值不同,不是重载。
C++和C语言代码之间如何相互调用?
- C++调用C代码,无法直接调用,会出现无法解析的外部符号。可以通过把函数声明用
extern C
修饰。表示按照C语言规则生成代码。 - C调用C++,无法直接调用,可以通过把C++函数用
extern C
修饰。表示按照C语言规则生成代码。
const顶层与const底层重载
- const顶层不能作为重载的依据;
- const底层可以作为重载的依据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗