指针和引用的区别

指针和引用的区别和联系

1.指针是一个变量,只不过改变了存储的是地址,指向内存的一个存储单元;而引用是变量的一个别名

3)指针可以是多层的,例如**a,而引用没有

4)引用没有const,而指针有

5.引用肯定会指向一个对象,应被初始化

6.不存在指向空值的引用,这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性

7.指针可被重新赋值以指向不同的对象,但引用总是指向在初始化时。


在more effective c++中描述

在以下情况应该使用指针:

一是考虑到存在不指向任何对象的可能(可设置空指针)

二在不同的时刻指向不同的对象(可改变指针),如果总指向一个对象并一旦指向一个对象就不会改变指向,那么用引用。

三,如果重载某个操作符,使用引用。例如

 vector<int> v(10);//建立整型向量,大小为10

v[5]=10//这个被赋值的目标对象就是操作符[]返回的值

*v[5]=10;//如果操作符返回一个指针,则这是正确写法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值