指針和引用的區別

相同點:

  1. 都是地址的概念;
  2. 指針指向一塊內存,它的內容是所指內存的地址;引用是某塊內存的別名。

區別:

  1. 指針是一個實體,而引用僅是個別名;
  2. 引用使用時無需解引用(*),指針需要解引用;
  3. 引用只能在定義時被初始化一次,之后不可變;指針可變;
  4. 從內存分配上看:程序為指針變量分配內存區域,而引用不需要分配內存區域。
  5. 引用不能為空,指針可以為空;
  6. “sizeof引用”得到的是所指向的變量(對象)的大小,而“sizeof指針”得到的是指針本身(所指向的變量或對象的地址)的大小;
  7. 指針和引用的自增(++)運算意義不一樣;
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 從概念上講。指針從本質上講就是存放變量地址的一個變量,在邏輯上是獨立的,它可以被改變,包括其所指向的地址的改變和其...
    IvanRunning閱讀 379評論 0 1
  • 參照lyd_253261362的專欄的文章詳細介紹=====c++中的引用與指針的區別 c++中的引用與指針的區別...
    iOS倔強青銅閱讀 571評論 0 1
  • 指針和引用在C++中很常用,但是對于它們之間的區別很多初學者都不是太熟悉,下面來談談他們2者之間的區別和用法。1....
    我家有個小太陽閱讀 290評論 0 2
  • 指針和引用在C++中很常用,但是對于它們之間的區別很多人都不是太熟悉,下面來解釋下他們2者之間的區別和用法。 1....
    DDB_CS閱讀 462評論 0 2
  • __block和__weak修飾符的區別其實是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用,...
    LZM輪回閱讀 3,354評論 0 6