首页 > 编程语言 >c++当中的引用

c++当中的引用

时间:2022-10-26 20:58:13浏览次数:58  
标签:变量 temp int void c++ 引用 当中

引用

在c++中,我们有一种比传递指针更加高效的方式,那就是引用(Reference)。 引用类似于windows环境下的快捷方式,通过快捷方式和可执行程序本身都可以运行程序。 引用的定义方式类似于指针,只不过使用的 "&" 代替了 "*" 。
void main()
{
int a = 9;
int &r = a;
cout << a << "," << r << endl;
cout << &a << "," << &r << endl;
}
注意:在定义引用时需要添加 "&" ,在使用时不能添加 "&",在使用时添加 "&" 表示取地址。当然,"&"的另一个用法就是位运算当中的与运算。 当然,改变引用变量的值,原被引用变量的值也会被改变。如果不希望引用变量改变原始变量的值,可以将引用设置为常引用
void main()
{
int a = 9;
const int &r = a;
 //或者 int const &r = a;
}
c++引用作为函数参数 在定义或者声明函数时,我们可以将形参指定为引用的方式,这样调用函数时就会将实参和形参绑定在一起,他们都指向同一份数据。如此一来,如果在函数体当中修改了形参的数据,那么实参的数据也会被修改。二次拥有在函数内部影响函数外部变量的效果。
#include<iostream>
using namespace std;

void swap1(int a, int b)
{
int temp = a;
a = b;
b = temp;
}

void swap2(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}

void swap3(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}

void main()
{
//直接传递变量的值
int num1 = 1,num2 = 2;
swap1(num1,num2);
cout << "num1= " << num1 << ", num2= " << num2 << endl;
    //改用传递指针变量
int num3 = 3, num4 = 5;
swap2(&num3,&num4);
cout << "num3= " << num3 << ", num4= " << num4 << endl;
    //改用传递指针的别名 或者引用
int num5 = 9, num6 = 10;
swap3(num5,num6);
cout << "num5= " << num5 << ", num6= " << num6 << endl;
}
说明:
  • 直接传递变量的值不能实现两个数据交换目的。
  • 传递指针可以实现两个数据交换的目的。
  • 通过引用的方式也可以实现两个数据交换的目的。

c++引用作为函数的返回值

c++引用除了可以作为函数形参外,还可以作为函数的返回值
include<iostream>
using namespace std;

int x =2;
int y = 5;
int &value(int &z){y=2*5;return z;}

void main()
{
value(x)=10;
cout << "x, y的值分别是: " << endl;
cout << x  << ", " << y << endl;
} 
//结果:10, 10

 

标签:变量,temp,int,void,c++,引用,当中
From: https://www.cnblogs.com/littleboss/p/16829975.html

相关文章