指针和引用的区别

(1)指针是一个变量,只不过这个变量存储的是一个地址,这个地址指向内存的一个存储单元。引用跟原来的变量实质是一个东西,只不过是原变量的一个别名,不占用内存,只是在编译时,系统会临时分配一个类似与变量的东西存储,编译完也就释放了,具体咋折腾跟编译器有关系。(一般讨论的堆区和栈区...占用内存,都是指的运行时)
(2)有const指针;但是没有const引用
(3)指针可以多级;但是引用只能是一级
(4)指针的值可以为空;但是引用的值不能为空,在定义之前必须初始化
(5)指针的值在初始化后可以改变,即指向其它存储单元;但是引用在初始化后不会再改变了
(6)“sizeof(引用)”得到的是所指向变量的大小;“sizeof(指针)”得到的是指针本身的大小
原文地址:https://www.cnblogs.com/zlcxbb/p/5752104.html