變數的引用 函式返回值傳遞引用

2021-09-27 20:58:35 字數 525 閱讀 5439

def test(num):

print("在函式內部 %d 對應的記憶體位址是 %d" % (num, id(num)))

# 1> 定義乙個字串變數

result = "hello"

print("函式要返回資料的記憶體位址是 %d" % id(result))

# 2> 將字串變數返回,返回的是資料的引用,而不是資料本身

return result

# 1. 定義乙個數字的變數

a = 10

# 資料的位址本質上就是乙個數字

print("a 變數儲存資料的記憶體位址是 %d" % id(a))

# 2. 呼叫 test 函式,本質上傳遞的是實參儲存資料的引用,而不是實參儲存的資料!

# 注意:如果函式有返回值,但是沒有定義變數接收

# 程式不會報錯,但是無法獲得返回結果

r = test(a)

print("%s 的記憶體位址是 %d" % (r, id(r)))

引用 引用型返回值

值形式的函式返回值通常都具有右值屬性,即在函式的呼叫者空間根據函式的返回型別建立乙個匿名物件,負責接收該函式的返回值 用於接收函式返回值的匿名物件和表示式的值類似,通常只具有語句級生命期且唯讀,即所謂將亡右值 如果函式返回的是乙個引用,那麼用於接收該返回值的就不再是乙個匿名的將亡右值物件,而是乙個引...

引用引數,引用返回值

函式形參詩引用,程式輸出如程式最後的注釋,表明引用s代表的是物件s2.函式中的引用 includeusing namespace std class sample sample sample a x a.x int getx 形參為引用 void disp sample s void disp sa...

引用引數與引用返回值

經常看到這樣的宣告 t func t t 這種宣告和t func t t 有什麼區別?書上的解釋是為 了提高效率,究竟是如何提高效率的呢?內部執行了什麼操作?本文通過8個小例子對引用引數 和引用返回進行了一次徹底的排查。首先看一下在類的成員函式中的引用引數和引用返回值 類定義class a 建構函式...