C++中的引用定义是
int a = 10;
int &b = a
引用相当于别名(alias) 它不是一种数据类型,不可以定义引用的指针。也不能定义数组的引用。
引用 vs 指针
引用是在初始化的时候指定了引用对象,一旦指定好对象,该引用不可以指定其他对象。
指针可以再初始化不指定对象,而且一个指针可以随时改变指向的对象。
引用的主要使用场景
引用的最大作用就是可以跨越作用域对变量进行操作。
- 在传递参数的时候。
我们知道,函数的形参的作用域是函数内部,而对形参的值进行改变无法体现在实参中的。而有了引用之后,就可以直接在函数体内部改变实参的值,无视形参和实参的区别。 - const引用 可以避免对引用修改
int a = 1
const int &b =a
函数返回引用
和普通函数返回一个常规数据类型不同,这里是返回的变量的引用。需要注意的是,这里的变量不可以是局部变量或者是常量。通过引用同样可以实现多态