0
点赞
收藏
分享

微信扫一扫

C++ 之引用

自由情感小屋 2022-05-01 阅读 81
c++

1、定义:给已定义的变量起一个别名,对于别名的使用就叫引用。

2、格式:数据类型 & 别名=原名

3、执行效果:别名和原名同时操纵同一块内存。

4、注意事项:引用必须初始化,且引用在初始化后,不可改变。

int a = 10;
int &b = a;//正确写法
int &b; //错误写法
int c = 0;
b = c;//赋值操作,不算重新初始化

5、引用可做函数参数 写一个函数实现两个数的交换 方法

(1)、值传递,形参不会修饰实参

//用函数实现交换两个数字
#include<iostream>
using namespace std;
//1、值传递
void exchange(int a,int b)
{
int temp=0;
temp = a;
a =b;
b = temp;
}
int main()
{
int a = 10;
int b = 20;
exchange(10,20);
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
return 0;
}

(2)、指针传递,形参会修饰实参

#include<iostream>
using namespace std;
//指针法
void exchange(int *a,int *b)
{
int temp=0;
temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 10;
int b = 20;
exchange(&a,&b);
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
return 0;
}

(3)、引用传递,形参会修饰实参

#include<stream>
using namespace std;
//3、引用传递
void exchange(int &a,int &b)
{
int temp =0 ;
temp = a; 
a = b;
b = temp;
}
int main()
{
int a=10;
int b=20;
exchange(a,b);
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
return 0;
}

6、引用做函数的返回值

(1)、不要返回局部变量引用,第一次值正确,第二次就错了,因为所申请的临时变量的内存空间已经释放了。

 

(2)、函数的调用可以作为左值,被赋予新的值。

 

举报

相关推荐

0 条评论