c/c++ 指针与引用的区别与联系

2020-05-01  本文已影响0人  linhuiyin

引用就是变量的另一个名字:  引用必须初始化,无空引用,无等级.

int a = 10;

int &b = a;  <=>  int* const b = &a;  两句等价 , const后跟b说明b的值(a的地址)不能改变, 而a指向的值可以改变,

引用与指针在编译时的方法一样,都是指向变量的地址.

不同点:

1.在定义时: 引用存储的是值,而指针时一个变量的拷贝,存储的是地址.

2.引用只能对已经存在的变量或者是对象实现引用,而指针不需要,可以为空

3.函数传参中,如果传的是引用,意味着这个变量或者对象已经存在,

如果传递的是一个指针,则不能判断该指针是否有效,是不是为空, 所以引用比较安全,但是指针效率更快一点.

4.引用时直接访问变量,不分配自己的内容空间, 指针是间接访问,需要自己的内存空间.

上一篇下一篇

猜你喜欢

热点阅读