引用型引數ref介紹

2021-06-07 07:34:06 字數 588 閱讀 6045

引用型引數是實參的乙個別名

       沒有發生複製

        實參必須預先被賦值

       實參必須是乙個變數型別

       實參和函式引數都要有ref

sealed class parameterpassing

static void main() }

函式引數有ref修飾符時,被稱為引用型引數。引用型引數不產生新的儲存區間。實際上,引用型引數是函式呼叫時所傳遞的實參所代表的變數的別名。結果是引用型引數只是實參所代表的變數的另乙個名字。

ref修飾符必須同時出現在函式宣告語句和函式呼叫語句中。

只有被預先賦值的實參才能被傳遞給引用型引數,例如:

int arg;    // arg沒有被賦初值

method(ref arg);//錯誤,實參必須預先賦初值

傳遞給引用型引數的實參必須是變數型別,而不能是純粹的值或常量。

method(ref 42);  //錯誤,引用型引數的實參不能是純粹的值

const int arg = 42;

method(ref arg); //錯誤,引用型引數的實參不能是常量

引用引數ref 輸出引數out

網上看到有些人說,當引數是物件時,ref可以不用寫,如下圖。這樣想其實是有誤的,加不加還是有一點區別的。這裡有必要解釋一下,當引數是對引用型別,即string或者類物件時,不用ref確實也能達到在方法中修改實參的目的。但是,加ref和不加ref還是有一定區別的。這裡我們先想一下值型別引數加ref的情...

ref引數和out引數

引數對於每個學習程式設計的人都很清楚,在任何程式中都不可能沒有引數,下面我就說說乙個特殊的引數型別,其實這個也不算什麼特殊引數了,在c 中已經沒有像c中那樣的指標的概念了,但是有的時候有些時候要寫特殊的處理,其實c 中並不是完完全全放棄這個概念的,下面就寫下這類特殊的引數。引用引數ref 當乙個引數...

Spring中引用標籤ref和屬性ref

ref作為屬性 ref作為標籤 local group 表示在該xml檔案中查詢group spring4.0 沒有local屬性了,它的作用其實和ref屬性一樣,用屬性也行 bean group 表示全域性查詢id為group的bean,可在不同的xml中查詢group spring main.x...