zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C++面试:指针和引⽤的区别

C++面试 区别 指针
2023-09-14 09:07:06 时间

指针和引用都是一种内存地址的概念,区别呢,指针是一个实体,引用只是一个别名。在程序编译的时候,将指针和引用添加到符号表中。

  • 指针它指向一块内存,指针的内容是所指向的内存的地址,在编译的时候,则是将“指针变量名-指针变量的地址′添加到符号表中,所以说,指针包含的内容是可以改变的,允许拷贝和赋值,有const和非const区别,甚至可以为空,sizeof
    指针得到的是指针类型的大小。
  • 而对于引用来说,它只是一块内存的别名,在添加到符号表的时候,是将"引用变量名-引用对象的地址"添加到符号表中,符号表一经完成不能改变,所以引用必须而且只能在定义时被绑定到一块内存上,后续不能更改,也不能为空,也没有const和非const区别。
  • sizeof 引用得到代表对象的大小。而sizeof
    指针得到的是指针本身的大小。另外在参数传递中,指针需要被解引用后才可以对对象进行操作,而直接对引用进行的修改会直接作用到引用对象上。
  • 作为参数时也不同,传指针的实质是传值,传递的值是指针的地址;传引用的实质是传地址,传递的是变量的地址。