关于引用的介绍和使用

什么是引用?

        通俗来讲,引用就是起别名,如下面所示,给变量a起了个小名叫做 b, a和b都是这个变量所对应空间的名字,当修改任何一个时,另一个也会被修改。

int a = 10;
int & b = a;

        引用和指针要进行区分,指针是需要开辟空间的,指针开辟的空间是为了存放一个变量对应的地址,而引用不需要开辟额外的空间,它只是这个变量的”小名“,这个变量还是放在原本的地方,起一个别名但是并不需要存放东西。

        看下面这段代码,可以看到 b是a的引用,b的地址和a的地址相同,而c是指针,c的地址和a的不同,是为指针c开辟的一份空间。


引用的特性有哪些?


        1、一个变量可以有多个引用
        2、 引用必须初始化
        3、 引用一旦初始化,不可再修改


常引用的注意事项:

        引用的权限可以比变量本身小或者相等,但是绝不可以比变量本身大,否则就会出现问题。

        


引用作参数:

        引用做参数的好处就是在传参时不需要拷贝,如果需要传的参数占用的空间特别大,直接传值作为参数,则需要拷贝一份,而如果选择传引用作参数,则不需要拷贝,只是给参数起别名,这样可以通过别名来修改。这点和传地址很相似,而传地址仍然是需要开辟空间。

void f1(int x)
{
}

void f2(int* x)
{
}

void f3(int& x)
{
}

int main()
{
	int a = 10;
	f1(a);  //传值
	f2(&a); //传地址
	f3(a);  // 传引用
}

引用作返回值:

        引用作返回值和一般的值做返回值时有区别的, 下面是对返回值的分析

 

 

        刚刚提到了,局部变量会随着函数结束而销毁,因此函数中作引用返回值的变量,应该是全局变量或者静态变量。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值