c++入门 引用变量

符合类型——引用变量

引用是以定义变量的别名,常用在作为函数的形参。可直接作用于变量的原始数据,而不是其拷贝。

 

声明引用

c++使用&来声明引用。

int rats;

int & rodents=rats;

 

指针与引用的区别

int & rodents=rats;

int * prats=&rats;

rodents与* prats都与rats相同,看上去,像是引用(rodents)隐藏了*。

实际上还是有区别的:

必须在声明引用时对其初始化,一旦与某个变量关联起来就一直效忠于它,而指针可以后面赋值,一直改变它的值。

从某种层面来讲引用像const指针,const指针不初始化就不能再赋值了。

int & rodents = rats;实际是下面的伪装:

int * const pr =rats;

 

将引用作为函数参数

 

这种方法称为按引用传递。突破了c中的按值传递。例:交换两个数的值。

 

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

}

指针表示,例:

 

 

int swapp(int *p,int *q)
{
int temp;
temp=*p;
*p=*q;
*q=temp;
}

两者的区别:1.声明函数参数的方式不同

 

2.另一个区别,p和q需要全程需要加入*。

 

引号的属性和特别工具

 

在引用前加上const,保护原先的值

 

引用在某种程度上是受限制的,它没有按值传递随意。它只能用变量当成参数。如:表达式不是变量就不能给 以引用为参数的函数赋值。

 

临时变量

只有在引用参数是const,编译器则在下列两种情况下生成临时变量。

1.实参类型正确,但不是左值。(可被引用的数据对象都是左值,如变量,数组元素,结构成员,指针等)

2.类型不正确,但可以转化为正确类型。

 

这些临时变量只在函数调用期间存在。

 

由于只有使用const才能生成临时变量,而临时变量也不会改变原先的数,在某些必要的时候需要使用这个特性。

 

使用const的三个理由:

使用const可以避免修改数据产生的错误

使用const可以处理const数据或非const数据实参,否则将只能接受非const数据

使用const引用使函数能够正确生成并使用临时变量。

因此尽可能将引用形参设为const。

 

尝试一下const不产生临时变量。

 

将引用用于结构

引用非常适用于结构和类。
 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值