引用和指針的區(qū)別和聯(lián)系
這個問題經(jīng)常在面試中被詢問,這里談一下我的理解;先談區(qū)別。1.關于定義;引用在定義的時候被賦值,而指針卻大可不必。
2.很多書(人)說引用是變量的別名,那么引用到底有沒有內(nèi)存空間?答案是肯定的;引用也是有內(nèi)存的,實際上可以理解成和指針一樣;其指向實際存在的內(nèi)容空間。但引用和指針的區(qū)別應該是編譯階段確定的。
3.指針賦值的時候需要加*,而引用不需要,和普通變量在表達式上沒有區(qū)別。
4.關于引用是在C++里面引入的,指針卻在C/C++里面都有
再談相似的地方:
1.不管引用還是指針都是間接的引用,在做參數(shù)傳遞的時候也都只需要將地址傳遞,而不是值傳遞。
2.引用和指針都可以實現(xiàn)C++的多態(tài);這也是C++多態(tài)的基礎。
貌似就這些了,如果忘記了大家?guī)兔ρa!
posted on 2011-04-05 22:11 笨笨 閱讀(1808) 評論(2) 編輯 收藏 引用 所屬分類: 代碼優(yōu)化