引用的本质是指针
int &a = b; a = 10; // 编译器会处理为 int const *a = &b; *a = 10;
由于引用,所以可以链式编程,即返回引用。
引用用于替换一重指针
没有引用的引用,没有指向引用的指针,
有对指针进行引用。
int *p; int *(&a) = p;
函数返回引用,注意引用为指针,所以注意指向的空间是否被释放。
函数返回引用,所以可以链式编程,如
func(1) = func(2) = func(3);
函数名相同,参数个数不同,类型不同,顺序不同
编译阶段,编译器构建函数表,并根据函数调用时的传参,重定位程序。
默认函数只能从右往左写
函数重载和默认参数连用时可能出现二义性