C 語言中 out 和 ref 的區別

發布 科技 2024-02-28
9個回答
  1. 匿名使用者2024-02-06

    rel 是進出的,out 只是進出。

  2. 匿名使用者2024-02-05

    1.ref 關鍵字使引數通過引用傳遞。 其效果是,當控制權傳遞給方法時,對方法中的引數所做的任何更改都將反映在該變數中。

    若要使用 ref 引數,方法定義和方法呼叫都必須顯式使用 ref 關鍵字。

    2.out 關鍵字會導致通過引用傳遞引數。 這類似於 ref 關鍵字,不同之處在於 ref 要求必須先初始化變數,然後才能傳遞它。

    若要使用 out 引數,方法定義和方法呼叫都必須顯式使用 out 關鍵字。

    不同:使用 ref 時,變數必須在傳遞之前初始化,而不必在函式內部。 out 必須在函式內部初始化。

    例如,一種方法使用 ref。

    public static void testref(ref int num1)

    使用此方法時(正確使用煩人)。

    static void main(string args), num1);值為 100

    error ref 的用法是。

    static void main(string args), num1);}

  3. 匿名使用者2024-02-04

    1.兩者都是按位址傳遞的,使用後會改變原引數的值。

    2. ref 可以將引數的值傳遞到函式中,但是 out 是清除引數,也就是說你不能從 out 傳遞乙個值,out 之後,引數的值是空的,所以你必須初始化一次。

    這就是兩者的區別,或者像一些網友說的那樣,ref是進出的,出只是進出。

    3. 使用 ref 引數時,必須先初始化輸入引數。 out,必須在方法中初始化。

    4. 使用 ref 和 out 時,在方法和執行方法的引數中新增 ref 或 out 關鍵字。 來滿足匹配。

    5. out 適用於需要多個 rerun 返回值的情況,而 ref 用於需要呼叫的方法修改呼叫方的引用時。

  4. 匿名使用者2024-02-03

    ref 需要在函式 out 中定義,引數定義 out 必須初始化。

  5. 匿名使用者2024-02-02

    ref 是值引用。 無論在何處引用變數,都會進行修改原始值的更改。

    例如,inta=0;

    b=refa;c=ref

    b;對 c、a 的任何更改都會改變,因為它們引用 a 的指標輸出型別是輸出引數,無法輸出普通引數。

    params

    我猜這是乙個無限數量的引數。

  6. 匿名使用者2024-02-01

    ,輸出型別引數:

    ref 用法相當於乙個引用型別引數,它可以通過位址引用的方式將值型別的引數傳遞到函式中,函式中操作後函式外的值型別引數的值會發生變化。 ref 和 out 之間的主要區別在於,必須先分配非 out 引數才能使用,而必須在方法結束之前分配 out 引數。

    型別引數的用法。

    這裡的 params 型別其實只是乙個引數陣列,按照方法中指定的某個排序規則進行排序,然後由方法中對應引數陣列的對應項決定如何執行,其主要功能是不限制方法的引數數量。

  7. 匿名使用者2024-01-31

    您好:共性:

    ref 和 out 都通過引用傳遞引數。

    若要使用 ref 和 out 引數,方法定義和方法呼叫都必須顯式使用 ref 和 out 關鍵字。

    區別:使用 ref 修改的引數必須首先初始化,而沒有 out 的引數則不需要初始化。

    注意:ref 和 out 關鍵字在執行時的處理方式不同,但在編譯時的處理方式相同。 因此,如果乙個方法採用 ref 引數,而另乙個方法採用 out 引數,則不能同時過載這兩種方法。

    如果乙個方法接受 ref 或 out 引數,而另乙個方法不接受,則可以過載它。

  8. 匿名使用者2024-01-30

    無論 out 還是 ref 作為方法的引數,都可以在方法執行後獲得該引數的變化值。

    在我看來,區別在於。

    ref 需要在方法外部宣告和分配,即在傳遞引數之前。

    另一方面,out 需要在方法中宣告和分配。

  9. 匿名使用者2024-01-29

    out 表示該引數在傳遞到該方法後在方法內部初始化並分配,只需在呼叫該方法時宣告即可。

    ref 指示必須先初始化或賦值此引數,然後才能呼叫它,然後在將其傳遞給方法後,將保留方法內對此變數所做的任何更改。

相關回答
8個回答2024-02-28

維生素C是一種水溶性維生素; 維生素E是一種脂溶性維生素! 另乙個區別是他們做不同的事情!

7個回答2024-02-28

區別在於有兩個區別。

10個回答2024-02-28

區別在於:表達的意思不同。

1、LT是指輪胎的種類,即輕型卡車輪胎。 >>>More

4個回答2024-02-28

索引器定義與屬性類似,但其功能與屬性不同 索引器提供了一種編寫 get 和 set 訪問器的特殊方式 屬性可以像訪問字段一樣訪問物件的資料 索引器允許使用者以與陣列相同的方式訪問類成員 定義索引器的語法如下: >>>More

19個回答2024-02-28

陸廟又稱福德寺、伯公寺,一般是在民俗村裡自發建造的小建築,造型簡單,規模很小,往往極其簡單。 土地神廟中供奉的自然是土地領主,也被稱為吉祥之神。 事實上,地主是中國古代土地崇拜的化身。 >>>More