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 建構函式...