从c到c++----引用

引用:

格式: 类型名 & 引用名=某变量名;

eg:

int n=4;

int & r=n;//r 引用了n,

引用:

1.定义引用时一定要将其初始化为引用某个变量。

2.初始化后,它就一直引用该变量,不会在引用别的变量了。

3.引用只能引用变量,不能引用常量和表达式。

double a=4,b=5;
double & r1=a;
double &r2=r1;//r2也引用a
r2=10;
cout<<a<<endl;//输出10
r1=b;//r1没有引用b,只是把b的值赋给a
cout<<a<<endl;//输出5

简单示例:

void swap(int*a,int*b)
{
int tmp;
tmp=*a;*a=*b;*b=tmp;
}
int n1,n2;
swap(&n1,&n2);//交换n1,n2值

 两个程序的功能相同

void swap(int &a,int &b)
{
int tmp;
tmp=a;a=b;b=tem;
}
int n1,n2;
swap(n1,n2);//交换n1,n2值

常引用:

在定义引用时,前面加const 关键字,即为“常引用”。

eg:
int n;

const int &r=n;

r 的类型是 const int &

不能通过常引用求修改其引用的内容:

int n=100;
const int &r =n;
r=200;//编译错
n=300;//正确

 常引用和非常引用的转换:

const T&和T&是不同的类型!!!!

T& 类型 的引用或T 类型的变量可以用来初始化 const T&类型的引用。

const T 类型的常变量和 const T& 类型的引用则不能用来初始化T&类型的引用,除非进行强制类型转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值