指针和引用的区别

区别一:引用必须要指代一个对象,所以引用必须初始化,但是指针不需要。

区别二:存在空指针,但是不存在空引用,引用必须要指代某个对象。

区别三:由于不存在空引用,使用引用时候不需要测试是否有效,但是使用指针则需要保证其是有效的。

区别四:指针可以改变其指向的对象,但是引用不可以,引用一被初始化后就不能改变

区别五:重载[]操作符的时候,由于语法需要,应该返回引用而不是指针。

区别六:从概念上看,指针是一个变量,而引用则是其它变量的别名

区别七:指针是占据内存的,但是引用则不一定会分配内存,引用只是一个别名。

区别八:对指针使用操作符和对引用使用操作符效果不同,对引用使用操作符得到的都是对所指代的对象使用操作符的结果