★相同點:安全
●都是地址的概念;測試
指針指向一塊內存,它的內容是所指內存的地址;而引用則是某塊內存的別名。指針
★不一樣點:對象
●指針是一個實體,而引用僅是個別名;內存
●引用只能在定義時被初始化一次,以後不可變;指針可變;引用「從一而終」,指針能夠「見異思遷」;變量
●引用沒有const,指針有const,const的指針不可變;引用
●引用不能爲空,指針能夠爲空;總結
●「sizeof 引用」獲得的是所指向的變量(對象)的大小,而「sizeof 指針」獲得的是指針自己的大小;co
●指針和引用的自增(++)運算意義不同;const
●引用是類型安全的,而指針不是 (引用比指針多了類型檢查)
總結:
1.非空區別。 任何狀況下都不能使用指向空值的引用。
2.合法性區別。 在使用引用以前不須要測試它的合法性,指針則老是被測試,防止其爲空。
3.可修改區別。 指針能夠被從新賦值指向不一樣的對象。 引用不能被修改,可是指向的對象其內容能夠修改。
4.應用區別。