指针:一个指针变量的值就是某个内存单元的地址或称为某个内存单元的指针。
引用:引用不是定义一个变量,而是给已经存在的变量去一个别名。编译器不会为其开辟空间,与引用变量用同一块空间。
共同点
都是地址概念
指针指向一块内存,其内容是所知内存的地址;而引用则是某块内存的别名。
不同点
1、指针是实体,引用是一个别名。
2、引用只能在定义时初始化,之后不可变;指针是可变的。引用从一而终,指针见异思迁。
3、引用没有const,指针可以用const。
4、引用不可以为空,指针可以为空。
5、sizeof(引用)得到的是所指向的变量(对象)大小,而sizeof(指针)得到的是指针本身的大小。
6、指针和引用的自增运算意义不一样。
7、引用是类型安全的,而指针不是。