c中ref是什麼意思怎麼運用的求列子

2021-03-04 07:41:38 字數 1194 閱讀 9323

1樓:匿名使用者

可以理解為類似的傳址引用,同時還有out。

在函式需要外部傳入乙個變數名,然後在程式內部可以將這個值進行修改,典型的傳址引用!在定義時必要加ref或out說明!

public void methoda(out string s )

呼叫時,應該先宣告乙個字元變數。

string temp;

methoda(out temp);

此時可以列印temp的值會變作"1";

而ref與out基本是類同的,如果在程式中引用原值的話,必須使用ref防止傳入未初始化的值。

public void methodb(ref int s)

因為該函式要使用形參的原值,所以這裡必須使用ref宣告,不要使用out宣告。

使用時,

int temp = 8;

methodb(ref temp);

列印temp的值會變為64。

ref因為對原值進行了引用,所以ref要求傳入的一定是乙個初始化後的值,不能是未初始化的值。

int temp;

methodb(ref temp);

//原則上這樣是會錯的,但這裡我使用了乙個int,由於在宣告時int temp與int temp =0 是等價的,所以不會出錯,但如果是字串,使用這種方式完全是可以報錯的!因為string temp與string temp ="";是不等價的,你也可理解為必須賦值後才可以使用。

public void methodc(ref string s)

string temp;

methodc(ref temp);//這種就是錯誤的方式。ref要求必須形參已經賦值(初始化)。

string temp = "";

methodc(ref temp);//這種方式就是正確的。

我們定義成員方法時,如果有引用原值使用必須使用ref,防上對方傳入乙個未初始化的值,引發程式錯誤,而沒有必要對形參的值有要求時,則盡量使用out,防止呼叫時增加客戶端**量。

求神指點:定義類時加入描述符ref 如:public ref class { } 是什麼意思?

2樓:匿名使用者

這是c++ cli的用法

C中什麼意思C中是什麼意思

在賦值符 之前加上其它二目運算子可構成復合賦值符。如 構成復合賦值表示式的一般形式為 變數 雙目運算子 表示式 它等效於 變數 變數 運算子 表示式 例如 a 5 等價於a a 5x y 7 等價於x x y 7 r p 等價於r r p 復合賦值符這種寫法,對初學者可能不習慣,但十分有利於編譯處理...

c中10010是什麼意思,c中copychars是什麼意思

100的結果是除以100的餘數 10的結果是除以10的結果的整數部分 是求餘數 是除 這兩個運算是不一樣的,的優先順序稍微高於 但是屬於同一等級二目運算,運算規則是從左到右的 運算是整除取餘運算 比如1132整除100應該是得11餘數32132整除100則是得1,餘數也是32 千位上的1要算,但關鍵...

在c中是什麼意思,在c 中 符號代表什麼意思?

通用匹配府吧!好像寫路徑一樣 string index.html 像這個得話,在程式中應用是不行的。需要加個 如 或者是 string file string index.html 是取消字串中的轉意符。比如不加 的字串,a n c 會解釋成乙個 和乙個a再加乙個換行,如果加了 a n c 會解釋成...