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