C++ 小知识点之引用:“&”

来源:互联网 发布:燕十八mysql教程下载 编辑:程序博客网 时间:2024/04/29 18:25

引用,只是实现了两个对象的绑定,并不会重新创建变量或获取内存控件。

引用的简单定义形式:

int  true_value;int &ref_value = true_value;

引用的注意点:

1.引用在声明时,就必须指定其绑定对象

2.引用在声明之后,不能够重新绑定引用对象

  例如:  ref_value = value_two 将是错误的

3.引用不可以绑定到字面值常量

  例如: int  &ref_value = 10; 将时错误的

但是可以通过声明 const 来实现常量引用:

   const int &ref_value = 10;这样就是正确的。

同样的,对于一个 const对象,它的引用也必须时const 的

例如:

const int x=10;int &y=x; //这样是误的const int &y = x; //这样时正确的


引用在函数中的作用

引用最主要的作用是在函数中,实现对实参的引用传递。

例如:

void swap(int x,int y){   int temp;   temp=x;   x=y;   y=temp;}void ref_swap(&int x,&int y){   int temp;   temp=x;   x=y;   y=temp;}

两个函数,swap并不能真正交换两个变量的值,而 ref_swap 则可以交换两个变量的值。


引用在迭代器的for循环中的作用

string str = "abcdef";for(auto s: str){  s='a';}cout<<str<<endl;   //输出结果: abcdef
for(auto &s:str){  s='a';}cout<<str<<endl;   <span style="font-family: Arial, Helvetica, sans-serif;">//输出结果: aaaaaa</span>

也就是说,在迭代器的for循环中,想要改变容器中的值,就需要使用 & 引用的方式。











0 0