引用是 C++ 相对于C语言的又一个扩充。引用是变量(也可以理解为数据)的一个别名,初始化为某个变量,就可以用引用找到变量的数据。
对于普通变量,传引用效果不明显;对于类对象,效率很高。传引用等价于扩大了源对象的作用域。
引用与指针:
1.引用必须在创建时被初始化;指针可以在任何时间被初始化。
2.引用被初始化为一个对象后,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
3.指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
int main() {
int num1 = 1, num2 = 2;
swap2(&num1, &num2);
swap3(num1, num2);
return 0;
}
//传递指针
void swap2(int *p1, int *p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
//按引用传参
void swap3(int &r1, int &r2) {
int temp = r1;
r1 = r2;
r2 = temp;
}