相同點
指針:指向一塊內存,他的值是指向內存的地址。
引用:某塊內存的別名。
都是地址的概念
不同點
1. 指針是一個實體,而引用僅是個別名;
2. 引用使用時無需解引用(*),指針需要解引用;
3. 引用只能在定義時被初始化一次,之後不可變;指針可變;引用“從一而終”;
4. 引用沒有 const,指針有 const,const 的指針不可變;
5. 引用不能爲空,指針可以爲空;
6. sizeof 引用,得到的是所指向的變量(對象)的大小;而sizeof 指針,得到的是指針本身(所指向的變量或對象的地址)的大小;
7. typeid(T) == typeid(T&) 恆爲真,sizeof(T) == sizeof(T&) 恆爲真,但是當引用作爲成員時,其佔用空間與指針相同(沒找到標準的規定)。
8. 指針和引用的自增(++)運算意義不一樣;
以上總結轉自:http://blog.csdn.net/thisispan/article/details/7456169
用法
引用:主要功能是傳遞函數的參數和返回值