C++ 引用
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
引用的特性
- 不存在空引用。引用必须连接到一块合法的内存。
(所以引用类型需要立即初始化!) - 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。
int& r=i
- 在此的&不是用来求地址,而是做一个引用的标志
上面语句为一个引用的例子,r是一个初始化为i的int类型引用
(这之后r不能同时做其他的变量的引用,)
引用可以用于返回值和参数表
引用作为参数时,不同于直接&a的传地址
而是新建引用p1,p2
之后传进来的实参都可以借用引用被修改
void swap(int &p1, int &p2)
{
int p; p=p1; p1=p2; p2=p;
}
引用作为返回值
要以引用返回函数值,则函数定义时要按以下格式:
类型标识符 &函数名(形参列表及类型说明) {函数体}
说明:
(1)以引用返回函数值,定义函数时需要在函数名前加&
(2)用引用返回一个函数值的最大好处是,在内存中不产生被返回值的副本。
假如要返回一个对象的话,使用引用类型可以避免在传值前产生的副本占用储存位置
更详细的学习先暂时跳过~