C++中指針和引用的差別
答:
1)非空區別。在任何情況下都不能使用指向空值得引用。不存在指向空值的引用這個事實意味着使用引用的代碼效率比使用指針要高效。
2)合法性區別。在使用引用之前不需要測試它的合法性。相反,指針則應該總是被測試,防止其爲空。
3)可修改區別。指針與引用的另一個重要的區別是指針可以被重新賦值已指向另一個不同的對象。但是引用則總是指向初始化時被指定的對象,以後不能改變,但是指定的對象其內容可以改變。
4)應用區別。總的來說,在一下情況下應該使用指針:一是考慮到存在不指向任何對象的可能(在這種情況下,能夠設置指針爲空),二是需要能夠在不同的時刻指向不同的對象(在這種情況下,你能改變指針的指向)。如果總是指向一個對象並且一旦指向一個對象後就不會改變指向,那麼應該使用引用。