C++指针和引用的区别

430 阅读1分钟
  1. 指针是一个实体,需要分配内存空间。引用只是变量的别名,不占用内存空间。
  2. 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定需要初始化,并且指向的空间可能可变
  3. 可以有多级指针。不能有引用的引用,但是类型别名和模板参数可以定义引用的引用(引用折叠)。
  4. 指针和引用的自增运算结果不一样。指针是指向下一个空间,引用是所引用的变量加1。
  5. sizeof引用得到的是所指向的对象的大学,sizeof指针是指针本身的大小。
  6. 引用访问一个变量是直接访问,而指针访问一个变量是间接访问。
  7. 传递指针参数的实质是传值,值为指针的地址。传引用的实质是传地址,传递的是变量的地址。