Key Difference – out vs ref in C
C on Microsofti välja töötatud kaasaegne programmeerimiskeel. Seda kasutatakse erinevate töölaua-, veebi- ja mobiilirakenduste arendamiseks. Funktsioonid või meetodid on programmeerimise mõiste. Seda lausete rühma, mida kasutatakse konkreetse ülesande täitmiseks, nimetatakse funktsiooniks või meetodiks. C programmides algab täitmine peamisest (). See on meetodi näide. Meetodi kutsumisel edastatakse andmed meetodile või saadakse meetodilt. Meetodit, mis kutsub uut meetodit, nimetatakse meetodi kutsumiseks. Uut meetodit tuntakse kutsutud meetodina. Läbivate väärtuste haldamiseks ja tulemuse tagasi saamiseks kasutab C parameetreid. Need on väärtusparameetrid, väljundparameetrid ja võrdlusparameetrid. Väärtuse parameetreid kasutatakse parameetrite edastamiseks meetodisse väärtuste kaupa. Võrdlusparameetreid kasutatakse parameetrite edastamiseks meetodile viitega. Väljundparameetreid kasutatakse tulemuse meetodist tagasiandmiseks. C-s kasutatakse väljundparameetrite jaoks märksõna out ja parameetritele viitamiseks ref märksõna. Peamine erinevus out ja ref vahel C-s on see, et out on märksõna, mida kasutatakse väljundparameetrile viitamiseks, mida kasutatakse tulemuste edastamiseks kutsutud meetodilt kutsumismeetodile, samas kui ref on märksõna viiteparameetrile viitamiseks, mida kasutatakse edastamiseks. andmed kutsumismeetodilt kutsutud meetodile ja andmete vastuvõtmiseks väljakutsutud meetodilt kutsumismeetodile.
Mis on C-s väljas?
Funktsiooni või meetodi süntaks on järgmine. Meetod sisaldab mitmeid elemente, nagu meetodi nimi, parameetrite loend, tagastustüüp ja juurdepääsu spetsifikaat.
(parameetrite loend)
{ //käivitatavad avaldused
}
Igal meetodil on funktsiooni kutsumiseks ainulaadne meetod. Käivitatavad avaldused on lokkis sulgudes. Tagastustüüp selgitab, kas funktsioon tagastab väärtuse või mitte. Kui tagastustüüp puudub, nimetatakse seda tühiseks. Juurdepääsuspetsifikaatorit kasutatakse rakenduses meetodi juurdepääsetavuse määramiseks. Parameetreid kasutatakse andmete vastuvõtmiseks või meetodile edastamiseks. Võib olla ka parameetriteta meetodeid. Parameetrid võivad olla väärtusparameetrid, väljundparameetrid või võrdlusparameetrid.
Väljundparameetreid kasutatakse tulemuste edastamiseks tagasi kutsumismeetodile. Selleks tuleks parameeter deklareerida märksõnaga out. Väljundparameeter ei loo uut salvestuskohta. Üldiselt tagastab meetod ühe väärtuse. Kuid C-s on väljundparameetrite abil võimalik funktsioonist tagastada kaks väärtust. Vaadake allolevat programmi.
nimeruumi rakendus1{
avalik klass Arvestus{
avalik tühikuva(välja sisend a, välja sisend b){
int väärtus=5;
a=väärtus;
b=väärtus;
a=a a;
b=bb;
}
public static void main(String args){
int väärtus1=10, väärtus2=20;
Arvutamine cal=new Arvutus();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
Kuvafunktsiooni kutsutakse välja põhimeetodist. Väärtus1 ja väärtus kaks on 10 ja 20, kuid neid ei võeta meetodisse. Funktsiooni a väärtus on 25 ja b väärtus samuti 25. Seetõttu tagastatakse need väärtused. Väärtus1 ja väärtus2 printimisel ei anna see väärtusi 10 ja 20. Selle asemel trükitakse 25 ja 25. Märksõna out abil saab meetodist tagastada mitu väärtust.
Mis on viide C-s?
Parameetreid väärtuse järgi edastades luuakse iga parameetri jaoks uus salvestuskoht. Põhiprogrammist saadetud tegelikud parameetrid ei muutu. Selle asemel kopeeritakse need väärtused eraldi asukohta. Neid uusi muutujate koopiaid nimetatakse formaalseteks parameetriteks. Vaadake allolevat koodi.
nimeruumi rakendus1{
avalik klass Arvestus{
avalik kehtetu vahetus(int x, int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Arvutamine cal=new Arvutus();
int p=2;
int q=3;
cal.swap(p, q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Vastav alt ül altoodud programmile on Calculation klassil meetodivahetus (). Põhiprogrammis luuakse arvutus tüüpi objekt. On kaks väärtust, nagu p ja q. Muutujal p on väärtus 2 ja muutujal q on väärtus 3. Need kaks väärtust edastatakse vahetusmeetodile. Vahetusmeetodi puhul kopeeritakse väärtus 2 muutujasse x ja väärtus 3 muutujasse y. Muutuja temp abil vahetatakse väärtused. Tagasi põhiprogrammis p ja q printimisel väärtusi ei vahetata. P väärtus on endiselt 2 ja q väärtus on 3. Isegi vahetusmeetodi puhul vahetatakse väärtusi, kuid see ei kajastu põhiprogrammis.
Erinev alt ül altoodud väärtuste edastamisest on võimalik parameetreid edastada viitega. Võrdlusmuutuja on viide mälu asukohale. Uut mälukohta pole loodud. Põhiprogrammis kajastuvad meetodi muudatused. C-s viidatakse viiteparameetritele ref märksõna abil. Vaadake allolevat programmi.
nimeruumi rakendus1{
avalik klass Arvestus{
avalik void swap(ref int x, ref int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Arvutamine cal=new Arvutus();
int p=2;
int q=3;
cal.swap(ref p, ref q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Vastav alt ül altoodud programmile on klassil Arvutamine vahetusmeetod. Põhiprogrammis luuakse arvutus tüüpi objekt. Need on kaks muutujat, nagu p ja q. Muutuja p väärtus on 2 ja muutuja q väärtus 3. Väärtuste edastamise asemel edastatakse meetodile viide p ja q mälukohtadele. Nendele viitemuutujatele viidatakse viite abil. Vahetusmeetodi puhul tehakse väärtuste uude asukohta viimise asemel muudatused tegelikes parameetrites. Põhiprogrammi p ja q väärtuste printimisel annab see vahetatud väärtused. Nüüd on p väärtus 3 ja q väärtus 2.
Mis on sarnasus out ja ref vahel C-s?
Mõlemad on märksõnad, mida kasutatakse meetodi parameetritele viitamiseks
Mis vahe on out ja ref vahel C-s?
out vs ref in C |
|
Välja on C märksõna, mida kasutatakse väljundparameetrile viitamiseks. Seda kasutatakse tulemuste edastamiseks kutsutud meetodilt meetodi kutsumisele. | Ref on C-i märksõna, mida kasutatakse viiteparameetrile viitamiseks. Seda kasutatakse andmete edastamiseks kutsumismeetodilt kutsutud meetodile ja andmete tagastamiseks väljakutsutud meetodilt kutsumismeetodile. |
Funktsionaalsus | |
Märksõna out kasutamisel saab andmeid kutsumismeetodilt kutsutud meetodile edastada. Kuid need andmed jäetakse kõrvale. Seda kasutatakse tulemuse edastamiseks kutsutud meetodist kutsuvale meetodile. | Märksõna ref kasutamisel edastatakse andmed kutsumismeetodilt kutsutud meetodile ja manipuleeritud andmed suunatakse tagasi kutsumismeetodile. |
Andmete edastamine | |
Märksõna out kasutamisel edastatakse andmed ühel viisil, mis on kutsutud meetod kutsumismeetodiks. | Märksõna ref kasutamisel edastatakse andmeid kahel viisil, mis on kutsumismeetodist kutsutud meetodile ja kutsutud meetodist kutsumismeetodile. |
Kokkuvõte – välja vs viide C
Meetodi kutsumisel võib osutuda vajalikuks väärtused meetodile edastada ja meetodi tulemused tagasi saada. C-l on selle saavutamiseks erinevad parameetrid. Väärtuse parameetreid kasutatakse parameetrite edastamiseks meetodisse väärtuste kaupa. Võrdlusparameetreid kasutatakse parameetrite edastamiseks meetodile viitega. Väljundparameetreid kasutatakse tulemuse meetodist tagasiandmiseks. C-s kasutatakse väljundparameetrite jaoks märksõna out ja parameetritele viitamiseks ref märksõna. Erinevus out ja ref vahel C-s seisneb selles, et out on märksõna, mida kasutatakse väljundparameetrile viitamiseks, mida kasutatakse tulemuste edastamiseks kutsutud meetodilt kutsumismeetodile, samas kui ref on märksõna viiteparameetrile viitamiseks, mida kasutatakse andmete edastamiseks meetodi kutsumine kutsutud meetodile ja andmete vastuvõtmine väljakutsutud meetodilt kutsumismeetodile.
Laadige alla C välja ja viite PDF-fail
Saate alla laadida selle artikli PDF-versiooni ja kasutada seda võrguühenduseta kasutamiseks vastav alt tsitaadi märkusele. Laadige PDF-versioon alla siit: Erinevus välja ja viite vahel C