引用

本文深入讲解了C++中引用的概念及其应用,包括引用的基本概念、声明格式、初始化要求及注意事项等,并通过实例演示了如何使用引用提高代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用

什么是引用?

  1. 引用就是变量的别名,声明它代表哪个变量,它就是哪个变量的别名

  2. 声明引用的格式

int a = 5;
int  &b =a;  //b是a的别名
int a = 12;
int &b = a;
a = 29;
cout<<a<<" "<<b<<endl;   //此时a,b为 29
b= 10;
cout<<a<<" "<<b<<endl;     //此时a,b为 10
//总结:改变任意一个,另外一个都随之改变
  1. 引用一旦声明,必须初始化,不能,int& b;
  2. 不同的数据类型变量,是不能使用引用的,例如int a=12; double &c = a;
  3. 指针是间接访问某个变量,但引用通过别名直接访问变量
//指针与引用的使用
#include<stdio.h>
using namespace std;
int main()
{
   int a = 45;
   int *p = &a;  //定义指针
   int &b =a;   //定义引用
 cout<<a<<endl;
 cout<<*p<<endl;
 cout<<b<<endl;
}

因为,变量和它的别名的地址是相同的
这里写图片描述

常引用

这里写图片描述

引用作为函数的参数

#include<stdio.h>
using namespace std;
void Swap(int & m, int &n)  //m,n就是对a和b的访问
{
    int tmp = m;
    m = n; 
    n = tmp;
}
int main()
{
    int a = 10;
    int b = 20;
    Swap(a, b);
    cout << a << " " << b << endl;

    return 0;
}

相比指针,引用方便简单,不用用 “*”运算符

引用作为函数的返回值

传值,传地址,传引用,在效率上,引用和指针差不多相同。
通常的函数返回机制是将返回值复制到临时区域存储中,随后调用程序访问该区域。
返回引用则是调用程序直接访问返回值。

int & add(int a,int b)
{
a = a+b;
return a;

}

但是返回的不能是函数里面的临时变量,因为临时变量在函数调用完毕后户随着程序的结束而结束。例如:

int & add(int a,int b)
{
int c = a+b;
retrun c;  //返回值应该要比函数的生命周期要长。
}

通过引用返回,可以使函数在赋值号左边,通常函数都在赋值号右边,如下例子:

int a[] = {1,3,5,7,9};
int& index(int i)
{
retrun a[i]
}
int main()
{
  index(2) = 25;  //把a[2]元素赋值为25
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值