指针和引用的区别:
(1)指针是一段地址,可以指向其所指的内存地址,而引用并不是地址,而是另一个变量的别名;
(2)指针可以为NULL,引用不可以;
(3)指针可以初始化很多次,比如可以为指针赋值很多次,但是对于引用而言,它只能初始化一次,因为它是一个变量的别名。
(4)指针可以使用const关键词修饰,而引用不可以。
对于引用,具体指没有int&const a这种形式,而const int& a是有的, 前者指引用本身(即别名)不可以改变,这是理所当然的,所以不需要这种形式,后者指引用所指的值不可以改变)
(5)用sizeof()计算内存大小时,对于ptr得到的是指针的大小,对于引用,得到的则是变量的大小。