码迷,mamicode.com
首页 > 其他好文 > 详细

指针与引用的区别和联系

时间:2015-05-20 01:59:30      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

指针与引用的区别:

 

The difference between "pointer" and "reference"

 

区别1:

    给指针A赋值的时侯,要么赋一个地址B,要么赋一个同类型的指针C

  ( 使用地址B赋值时,B中存储的值的类型要和A指针指向的类型一致。如果B指向的值用const 修饰,那么指针A在初始化时,最外面也要用const 修饰   

      使用指针C赋值时,如果指针C最外面使用const 修饰,如 const int * C  OR  const int * const C。 那么A在初始化时,最外面也要用const修饰

    )

 

    给引用A赋值的时侯,要么赋一个对象B,要么赋一个引C

  (前提: 这个对象B或者引用C的类型,都需要与引用A有转换关系

    使用对象B赋值时,若A和B的类型一致:如果B用const 修饰,那么A也要用const 修饰

            若A和B的类型不同:A一定要用const修饰  (Explanation: 因为编译器会先把B转为一个 const typeOfReferenceA 类型的临时                       变量,然后再把这个临时变量赋给引用A。正因为这个临时变量用const修饰,那么A也要用const 修饰)

    使用引用C赋值时,其情况与使用对象B赋值相仿

    )

 

区别2:

引用不是一个对象,而指针是;引用在初始化时给它赋了一个地址后,就始终指向这个新地址。而指针,只要没有用const限制,可以反复给它赋新地址。

 

  

The similarity between "pointer" and "reference"

 

相同点:

引用和指针都是间接访问对象的方式

指针与引用的区别和联系

标签:

原文地址:http://www.cnblogs.com/zhangzph/p/4516025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!