引用的基础知识

传智扫地僧课程学习笔记。


引用,

已定义变量的别名,


int a = 10;

int &b = a;

b = 20;

此时操作b,就是在操作a,



来让我们看看内幕,

int a = 10;

int &b = a; // int *const b = &a;

b = 20; //*b = 20;

旁边的注释,就是C++编译器帮我们做的工作,



普通引用必须显示初始化,比如int &c; 这样就是错的,

作为函数形参的时候,不用,


下面是经典的两数交换函数的3个版本,

版本1:

void swap( int a, int b)

{

int c = a;

a = b;

b = c;

}

swap( x,y); //这样其实没有达到我们想要的交换目的,


版本2:

void swap( int *a, int  *b)

{

int c = *a;

*a = *b;

*b = c;

}

swap( &x, &y); //这样写的话,能交换


版本3:

void swap( int &a, int &b)

{

int c = a;

a = b;

b = c;

}

swap( x,y);

//这样写的话,也能交换,这种情况下,引用初始化不用赋值,调用函数的时候,直接扔变量即可,不用取地址,其实是编译器帮我们取地址了,




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值