指針與引用的區(qū)別
- 指針可以是空指針,但是引用不能是空引用。這就導(dǎo)致下面一個(gè)區(qū)別。
- 指針可能是非法的,引用總是合法的。如果指針是空指針,那么就不能合法的使用它。這要求在每次使用指針時(shí)都需要判斷它的合法性。相反引用則不用判斷。
- 指針是可以修改的,引用不可以。指針是變量,他存儲(chǔ)的地址所指向的對(duì)象可以被修改為其他地址,不再指向原對(duì)象。但是引用在初始化時(shí)被限定指向?qū)ο?,可以修改?duì)象的內(nèi)容,但是不允許引用再引用其他對(duì)象。
- 基于上述情況,指針和引用的應(yīng)用場(chǎng)合不一樣。指針可以應(yīng)用在指向?qū)ο蟠嬖诓煌瑫r(shí)刻指向不同對(duì)象或者需要指向不存在任何對(duì)象的場(chǎng)合。如果總是指向一個(gè)對(duì)象且指向該對(duì)象之后不再改變,則應(yīng)該使用引用。