引用和指针的区别:
1)指针有自己的一块空间,而引用只是一个别名;
2)使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小;
3)指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象的引用;
4)作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引用的修改都会改变引用所指向的对象;
5)可以有const指针,但是没有const引用;
6)指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能被改变;
7)指针可以有多级指针(**p),而引用只有一级;
8)指针和引用使用++运算符的意义不一样;
9)如果返回动态内存分配的对象或内存,必须使用指针,引用可能出现内存泄漏。
参考:
1)c++面试宝典