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

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

引用的简单定义形式:

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值