引用和指针的区别

来源:互联网 发布:网络线路故障 编辑:程序博客网 时间:2024/06/10 08:22

1.初始化要求不同. 引用在创建的同时必须初始化,而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值.

2.可修改性不同.引用一旦被初始化,它就不能再被另一个对象引用;而指针在任何时候都可以指向另一个对象

3.不存在NULL引用.引用不能使用指向空值的引用.它必须指向一个对象;而指针则可以是NULL,不需要总是指向对象,可以把指针指向任意对象,所以指针更加灵活.

4.测试时的区别.由于引用不会指向空值,这意味着使用引用之前不需要测试它的合法性;而指针则需要经常进行测试.因此使用引用的代码效率要比使用指针的高.

5.应用的区别.如果指向一个对象后就不再改变其指向,那么应该使用引用.如果指向NULL(不指向任何对象)或在不同时刻指向不同的对象,应该使用指针.

 6.引用的大小是其所引用对象的大小.而指针大小总是为4.

7.引用就是别名,而指针是个实体,指针存储的是内存地址.

引用比指针安全

由于不存在空引用,并且引用一旦被初始化指向一个对象,它就不能改变为另一个对象的引用,因此引用安全.

指针可以随时指向别的对象,并且可以不被初始化,或初始化为NULL,所以不安全.

原创粉丝点击