C 中Out和Ref引數修飾符

2021-09-07 10:44:37 字數 935 閱讀 2533

以下為大家分析一下。

傳值

比方你又乙份文件,假設採用傳值的話。相當於我複製了乙份,因此我對我這份文件的改動都不會影響到你的那份。假設你對這句話了解的話,那麼就簡單了。

以下看乙個小demo。

static void main(string args)

static void method( int i)

傳址引用

還是你又乙份文件,僅僅只是假設採取傳值引用的話。我們兩個人共享這份文件,那麼可想而知,不管誰操作都會影響到最後的顯示

refkeyword

還是上面的那個demo,假設換成refkeyword。效果例如以下

static void main(string args)

//依照傳引用呼叫

static void method(ref int i)

outkeyword

近來再程式設計過程中又遇到了outkeyword,與ref的功能相當,都是傳值引用,差別在於ref在傳遞之前。須要對文件進行初始化。還是上面的樣例,看一下效果

static void main(string args)

//依照傳引用呼叫

static void method(out int i)

ref與out的差別

第一:還是兩份文件。僅僅只是採取ref方式的話,你不能給我乙份空文件。而out則能夠同意你給我乙份空文件。

第二:採取ref方式,我能夠直接對引數進行+、-等操作,而out方式則必須先賦值。才幹進行對應操作。

引數修飾符out 和 ref的區別

1 如果乙個方法中的變數在使用out作為引數時,在方法中對out引數所作的更改都會反映到該變數。static void method out int ivalue static void main 2 若要使用out引數,方法定義以及方法的呼叫都必須顯示使用out關鍵字 3 不必初始化作為out引數...

c 引數修飾符 out

out關鍵字通過引用傳遞引數。方法定義和呼叫方法必須顯式使用out關鍵字 呼叫方法時引數不必初始化,方法內必須對其賦值 引數中可以宣告多個out修飾的引數。例 public void useout out intnum public void index 將上述 改為 public void use...

C out和ref 引數修飾符

引數修飾符 無引數修飾符 如果乙個引數沒有任何引數修飾符修飾,那麼認為它是值傳遞,意味著方法內部收到的是實參資料的副本 out 輸出引數由方法內部進行賦值,引用傳遞 如果方法內部沒有給被out修飾的輸出引數賦值,就會出現編譯報錯。out最大的用途就是只呼叫一次方法便會產生多個返回值。c 7.0中實現...