值型別
}引用型別
;//方法外部的變數當前引用的物件的hashcode和name屬性的值
console.
writeline
("--------------------------------");
iwantsideeffect
(ref outterstu)
;//方法體裡列印出來的hashcode和name屬性的值
console.
writeline
("hashcode=,name="
, outterstu.
gethashcode()
, outterstu.name)
;//再次列印方法外部的變數的hashcode和name屬性的值
//引數和方法外部這個變數所引用的物件,他們是同乙個物件,而且是方法體內部建立的新的物件。
}static
void
iwantsideeffect
(ref
student stu)
//引用型別的引用引數
;//somesideeffect中的引數stu和變數outterstu,他們所指向的記憶體位址是同乙個記憶體位址,
//而這個記憶體位址所儲存的,就是物件在堆記憶體中的位址。
}static
void
somesideeffect
(ref
student stu)
,name="
,stu.
gethashcode()
,stu.name);}
}class
student
}
C 學習筆記 引用摺疊和模板右值引用引數
函式模板進行引數傳遞時,對引用的傳遞有兩個例外規則 引用摺疊只能應用於間接建立的引用的引用,如型別別名或者模板引數,我們不能直接建立引用的引用。template void fun t val 定義fun為模板函式,引數型別為 int i 0 fun i i是左值,實參將會被推斷為int int j ...
c 學習筆記 引用
引用 引入物件的乙個同義詞,不會產生新的物件!例如 point p1 m,n point p2 p1 p2為p1的同義詞,改變p2的同時也會改變p1,但是編譯器並沒有給p2單獨分配記憶體,他和p1是共用一塊記憶體的!引用和const一樣,必須馬上初始化 例如如下類 class point publi...
C 學習筆記 引用
引用,reference 在本質上就是指標,從建立開始,就與目標繫結 指標定義 int a 123 int p a 稱作 p指向了變數a 引用定義 int a 123 int r a 引用的定義 稱作 r是變數a的引用 r引用了變數a 和指標是乙個意思 指標的使用 int a 123 int p a...