引用变量&和指针*的区别

&在C/C++中做右值时,为取地址运算符,来指示变量的地址。C++给&符号赋予了另外一个含义,将其用来声明引用。

引用变量的作用:

1、别名

int b = 0;

int& a = b;

 

2、用作函数参数

和指针作为函数参数一样,可以提高函数的效率,函数参数在按值传递的情况下,会产生一个临时的副本。

//引用:

void func(int& x);

int a = 0;

func(a);

//指针:

void func(int* x);

int a = 0;

func(&a);

//值传递:

int func(int* x);

int a = 0;

int result = func(a);

void func(int& x){
  x = x * x;
}
void func(int* x){
  *x = (*x) * (*x);
}
int func(int x){
  int result = x * x;
  return result;
}

 

3、用于函数返回值

用引用作函数的返回值的最大的好处是在内存中不产生返回值的副本

StringBad& StringBad::operate=(const StringBad& other);

 

引用使用的注意事项:

1、必须在声明引用的时候初始化,这与指针不同,指针可以先声明,后赋值,引用的这个属性和const类似。

  引用不能为空,不存在空引用,但是指针却可以存在空指针,这就意味着我们拿到一个引用时不需要判断引用是否为空,但是如果拿到的是一个指针,则需要判断指针是否为空之后再进行指针的进一步操作。

2、引用一旦建立,将一直效忠于他,不能再引用。

转载于:https://www.cnblogs.com/zhousong918/p/10424151.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值