指標和引用的區別

七块蛋糕發表於2024-04-23

一,區別

  1. 是否需要初始化
  • 指標不需要初始化,但是最好初始化
  • 引用必須初始化,不能初始化為空物件,初始化後不能改變
  1. 是否允許為空
  • 指標允許
  • 引用不允許
  1. 是否直接操作物件
  • 指標透過某個指標變數指向一個物件,對所指向的物件進行間接操作
  • 引用是目標物件的別名,對引用的操作就是直接對目標物件操作
  1. 是否是物件
    指標是物件,指標是有地址的,可以定義指標的指標
    引用不是物件,欸有實際地址,不能定義引用指標,也不能定義引用的引用

二,作用

  1. 引用的作用
  • 傳參,避免記憶體分配,以及物件資料的複製
  • 函式返回值,避免物件資料的複製
  1. 指標的作用
  • 傳參,避免物件資料複製
  • 多型(基類指標指向子類)
  • 程式碼複用(不用程式碼模組呼叫同一個物件)

相關文章