引用运算符&
引用就是给一个已经定义的变量取一个别名,例如
int main(void)
{
int a = 5;
int& b = a;
cout << b;
return 0;
}
输出为:5
使用&运算符,给a一个外号b,就可以把b当作a来使用了,a和b在内存上占用同一块区域,引用并不会创建新的内存空间。就像使用指针那样。上面的操作等价于
int main(void)
{
int a = 5;
int* b = &a;
cout <<* b;
return 0;
}
创建一个指针*b,指向a的地址,然后把 *b当作变量a来用。
引用已存在变量的方法
除了上面的例子中的用等于号外,还有其他方法
int main(void)
{
int a = 5;
int& b(a);
cout << b;
return 0;
}
如上所示,使用括号也可以使b引用a。
引用在函数之间参数传递的作用
用动态分配内存空间初始化引用变量
int main(void)
{
int& a = *new int;
a = 5;
cout << a;
return 0;
}
这就相当于给新开辟的内存空间取一个别名。详见:动态内存分配