1.指针是变量,占用4字节的空间,用于存储地址.引用只是被引用对象的别名.
2.指针可以多级(多级指针**p),引用只有一级(如果对引用进行引用,被引用对象是同一个东西).
3.指针可以初始化为空(NULL),引用必须用实例引用初始化(不能为空).
4.指针可以修改指向的对象,引用不能.
5.指针++是指向的位置移动,引用++是被引用对象的值++.
6.函数传参的时候指针是拷贝(指针传递本质上是值传递,传递地址值),引用是引用传递.
7.指针需要解引用才可以对对象进行操作,引用则可以直接进行操作.
8.引用是类型安全的,引用过程会进行类型检查.而指针不会进行安全检查.
9.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄露:
如果分配的空间比返回类型的空间大,delete后还会剩余一部分空间没有被释放掉,造成内存泄漏.