回覆列表
  • 1 # 使用者4075364996656

    1、意義不同:符號 &(reference),表示".....的地址"("address of"),因此稱為地址運算子(adress operator),又稱引用運算子(reference operator)。 符號 *(dereference),表示".....所指向的值"("value pointed to by")。

    2、使用方法不同:直接引用將變數a的地址賦給變數n,因為當在變數名稱a前面加ampersand (&) 符號,b指的將不再是該變數的內容,而是它在記憶體中的地址。間接引用當呼叫函式的時候,x和y的值會被複制一份,然後分別賦值給a和b。在函式內部修改a和b的值,並不會對外部的x和y造成影響。

    3、優勢不同:直接引用不需要再copy值,提升效能。修改了引數的值也就修改了外部變數的值。使用常量引用,既達到了像值傳遞那樣使用引數,又可以像引用傳遞那樣提升效能。對於引數是透過間接引用的函式,引數的值會被複制一份傳入函式。對於基本型別比如int,這樣的開銷是很小的。但對於大的複合型別,不如string。

  • 中秋節和大豐收的關聯?
  • 可能是吃東西上火了,牙齦爛了一個洞怎麼辦?