从C到C++的升级之引用VS指针

引用VS指针

1)  引用是给一个变量起别名,对引用的修改即对变量的修改

2)  格式:类型 &引用名 = 变量名

例如:int a = 1;int &b = a;//b是a的别名

注:定义引用时一定要初始化,指明该引用变量是谁的别名

3)  引用一般用于参数传递与返回值

A.  作为函数形参:

在C语言中:传递实参变量名只能使用不能修改,传递实参变量的地址既能使用又能修改;

在C++语言中:传递实参变量名既能使用又能修改。

int num =5;add(num);

//voidadd(&num){num++;}

B.  作为返回值:

在C++语言中,将函数的返回值作为赋值语句的左值

注:不能返回局部变量的引用

4)  引用与指针的区别

A.  引用访问一个变量是直接访问,而指针是间接访问;

B.  引用是一个变量的别名,本身不单独分配自己的内存空间,而指针又自己的内存空间;

C.  引用一经初始化不能引用其他变量,而指针可以;

D.  指针在定义时,可以不初始化,而引用在定义时必须初始化;

E.  指针变量指向的地址可以根据需要动态修改,而引用只要和摸个变量绑定后就不能改变;

F.  使用sizeof求指针变量的大小总是4字节(32位),表示地址所占的空间是4字节,而sizeof引用的大小不是固定的,其大小由所引用的源头变量确定。

尽可能使用引用,不得已时使用指针。

5)  const引用:指向const对象的引用

const int num =12;

const int&temp = num;//正确

int &ptr =num;//错误

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值