指针和引用的区别

来源:互联网 发布:淘宝上如何买到真牛排 编辑:程序博客网 时间:2024/05/29 12:29

指针和引用的区别和联系

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

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

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

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

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

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


在more effective c++中描述

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

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

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

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

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

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

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

0 0
原创粉丝点击