cpp拾遗——引用,函数重载

1. 引用

1.1 本质

引用的本质是指针

int &a = b;
a = 10;
// 编译器会处理为
int const *a = &b;
*a = 10;

由于引用,所以可以链式编程,即返回引用。

1.2 引用和指针

引用用于替换一重指针
没有引用的引用,没有指向引用的指针,
有对指针进行引用。

int *p;
int
 *(&a) = p;

1.3 引用和函数

函数返回引用,注意引用为指针,所以注意指向的空间是否被释放。
函数返回引用,所以可以链式编程,如

func(1) = func(2) = func(3);

2. 函数重载

2.1 函数重载的条件

函数名相同,参数个数不同,类型不同,顺序不同

2.2 函数重载的本质

编译阶段,编译器构建函数表,根据函数定义,重新命名绑定函数名称符号,并根据函数调用时的传参,绑定调用地址。

int func();
int func(int a);
int func(char a);
// c++编译器会将函数重新命名
int func_a();
int func_b(int a);
int func_c(char a);

2.3 函数重载和默认参数

默认函数只能从右往左写
函数重载和默认参数连用时可能出现二义性

posted on   开心种树  阅读(79)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示