Kľúčový rozdiel – out vs. ref v C
C je moderný programovací jazyk vyvinutý spoločnosťou Microsoft. Používa sa na vývoj rôznych aplikácií pre desktop, web a mobil. Funkcie alebo metódy je pojem v programovaní. Táto skupina príkazov, ktoré sa používajú na vykonanie špecifickej úlohy, je známa ako funkcia alebo metóda. V programoch C spúšťanie začína od hlavného (). Je to príklad metódy. Pri volaní metódy sa údaje odovzdávajú metóde alebo prijímajú z metódy. Metóda, ktorá volá novú metódu, je známa ako volanie metódy. Nová metóda je známa ako volaná metóda. Na správu odovzdávaných hodnôt a získanie výsledku používa C parametre. Sú to hodnotné parametre, výstupné parametre a referenčné parametre. Hodnotové parametre sa používajú na odovzdávanie parametrov do metódy hodnotou. Referenčné parametre sa používajú na odovzdávanie parametrov do metódy odkazom. Výstupné parametre sa používajú na odovzdanie výsledku späť z metódy. V C sa kľúčové slovo out používa na výstupné parametre a kľúčové slovo ref sa používa na odkazovanie na parametre. Kľúčový rozdiel medzi out a ref v C je v tom, že out je kľúčové slovo používané na odkazovanie na výstupný parameter, ktorý sa používa na odovzdávanie výsledkov z volanej metódy do volacej metódy, zatiaľ čo ref je kľúčové slovo na odkazovanie na referenčný parameter, ktorý sa používa na odovzdanie. dáta z volajúcej metódy na volanú metódu a na prijímanie dát z volanej metódy na volajúcu metódu.
Čo je v C?
Syntax funkcie alebo metódy je nasledovná. Metóda má niekoľko prvkov, ako je názov metódy, zoznam parametrov, návratový typ a špecifikátor prístupu.
(zoznam parametrov)
{ //príkazy na vykonanie
}
Každá metóda má jedinečnú metódu na volanie funkcie. Spustiteľné príkazy sú v zložených zátvorkách. Návratový typ vysvetľuje, či funkcia vracia hodnotu alebo nie. Ak neexistuje návratový typ, nazýva sa void. Špecifikátor prístupu sa používa na určenie prístupnosti metódy v aplikácii. Parametre sa používajú na prijímanie alebo odovzdávanie údajov do metódy. Môžu existovať aj metódy bez parametrov. Parametre môžu byť hodnotné parametre, výstupné parametre alebo referenčné parametre.
Výstupné parametre sa používajú na odovzdanie výsledkov späť volajúcej metóde. Na to by mal byť parameter deklarovaný s kľúčovým slovom out. Výstupný parameter nevytvára nové úložné miesto. Vo všeobecnosti metóda vracia jednu hodnotu. Ale v C je možné vrátiť dve hodnoty z funkcie pomocou výstupných parametrov. Pozrite si program nižšie.
namespace application1{
verejná trieda Výpočet{
verejné neplatné zobrazenie (out int a, out int b){
int value=5;
a=hodnota;
b=hodnota;
a=a a;
b=bb;
}
public static void main(String args){
int hodnota1=10, hodnota2=20;
Calculation cal=new Calculation();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
Funkcia zobrazenia sa volá z hlavnej metódy. Hodnota1 a hodnota dva majú 10 a 20, ale nie sú zahrnuté do metódy. Hodnota a je vo funkcii 25 a hodnota b je tiež 25. Preto sú tieto hodnoty vrátené. Pri tlači value1 a value2 neposkytne 10 a 20. Namiesto toho vytlačí 25 a 25. Použitím kľúčového slova out je možné z metódy vrátiť viacero hodnôt.
Čo je ref v C?
Pri odovzdávaní parametrov podľa hodnoty sa pre každý parameter vytvorí nové úložisko. Skutočné parametre odoslané z hlavného programu sa nemenia. Namiesto toho sa tieto hodnoty skopírujú na samostatné miesto. Tieto nové premenné kópie sa nazývajú formálne parametre. Pozrite si kód uvedený nižšie.
namespace application1{
verejná trieda Výpočet{
public void swap(int x, int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Calculation cal=new Calculation();
int p=2;
int q=3;
cal.swap(p, q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Podľa vyššie uvedeného programu má trieda Výpočet metódu swap (). V hlavnom programe sa vytvorí objekt typu Výpočet. Existujú dve hodnoty, ako napríklad p a q. Premenná p má hodnotu 2 a premenná q má hodnotu 3. Tieto dve hodnoty sú odovzdané do metódy swap. Pri metóde swap sa hodnota 2 skopíruje do premennej x a hodnota 3 sa skopíruje do premennej y. Pomocou premennej temp sa hodnoty vymenia. Späť v hlavnom programe pri tlači p a q nie sú hodnoty zamenené. Hodnota p je stále 2 a hodnota q je 3. Aj pri metóde swap sú hodnoty zamenené, ale neodráža sa to v hlavnom programe.
Na rozdiel od odovzdávania hodnôt, ako je uvedené vyššie, je možné odovzdávať parametre odkazom. Referenčná premenná je odkaz na pamäťové miesto. Nevytvára sa žiadne nové pamäťové miesto. Zmeny v metóde sa prejavia v hlavnom programe. V C sa referenčné parametre odkazujú pomocou kľúčového slova ref. Pozrite si program nižšie.
namespace application1{
verejná trieda Výpočet{
public void swap(ref int x, ref int y){
int temp;
temp=x;
x=y;
y=teplota;
}
public static void main(String args){
Calculation cal=new Calculation();
int p=2;
int q=3;
cal.swap(ref p, ref q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Podľa vyššie uvedeného programu má trieda Výpočet metódu swap. V hlavnom programe sa vytvorí objekt typu Výpočet. Sú to dve premenné ako p a q. Premenná p má hodnotu 2 a premenná q má hodnotu 3. Namiesto odovzdávania hodnôt sa do metódy odovzdávajú odkazy na pamäťové miesta p a q. Tieto referenčné premenné sú uvedené pomocou ref. V metóde swap sa namiesto kopírovania hodnôt na nové miesto vykonajú zmeny v skutočných parametroch. Pri tlači hodnôt p a q hlavného programu poskytne prehodené hodnoty. Teraz je hodnota p 3 a hodnota q je 2.
Aká je podobnosť medzi out a ref v C?
Obaja sú kľúčové slová používané na označenie parametrov metódy
Aký je rozdiel medzi out a ref v C?
out vs ref v C |
|
Out je kľúčové slovo v C, ktoré sa používa na označenie výstupného parametra. Používa sa na odovzdanie výsledkov z volanej metódy do volania metódy. | Ref je kľúčové slovo v C, ktoré sa používa na odkazovanie na referenčný parameter. Používa sa na odovzdanie údajov z volanej metódy do volanej metódy a na vrátenie údajov z volanej metódy do volajúcej metódy. |
Funkčnosť | |
Pri použití kľúčového slova out môžu byť údaje odovzdané z volajúcej metódy do volanej metódy. Ale tieto údaje sa vyhodia. Používa sa na odovzdanie výsledku volajúcej metóde z volanej metódy. | Pri použití kľúčového slova ref sa údaje prenesú z volajúcej metódy do volanej metódy a spracované dáta sa odovzdajú späť volajúcej metóde. |
Odovzdávanie údajov | |
Pri použití kľúčového slova out sa údaje odovzdávajú jedným spôsobom, ktorý je volanou metódou volajúcej metódy. | Pri použití kľúčového slova ref sa údaje odovzdávajú dvoma spôsobmi, a to od volajúcej metódy k volanej metóde a od volanej metódy k volajúcej metóde. |
Summary – out vs. ref in C
Pri vyvolaní metódy môže byť potrebné odovzdať hodnoty do metódy a získať späť výsledky z metódy. C má rôzne parametre na dosiahnutie tohto cieľa. Hodnotové parametre sa používajú na odovzdávanie parametrov do metódy hodnotou. Referenčné parametre sa používajú na odovzdávanie parametrov do metódy odkazom. Výstupné parametre sa používajú na odovzdanie výsledku späť z metódy. V C sa kľúčové slovo out používa na výstupné parametre a kľúčové slovo ref sa používa na odkazovanie na parametre. Rozdiel medzi out a ref v C je v tom, že out je kľúčové slovo používané na odkazovanie na výstupný parameter, ktorý sa používa na odovzdávanie výsledkov z volanej metódy do volajúcej metódy, zatiaľ čo ref je kľúčové slovo na odkazovanie na referenčný parameter, ktorý sa používa na odovzdávanie údajov z volanie metódy na volanú metódu a na prijímanie údajov z volanej metódy na volanie metódy.
Prevezmite si súbor PDF s referenciou v jazyku C
Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si PDF verziu tu: Rozdiel medzi Out a Ref v C