Diferența dintre out și ref în C

Cuprins:

Diferența dintre out și ref în C
Diferența dintre out și ref în C

Video: Diferența dintre out și ref în C

Video: Diferența dintre out și ref în C
Video: What is the difference between “out” and “ref” parameters? 2024, Decembrie
Anonim

Diferență cheie – out vs ref în C

C este un limbaj de programare modern dezvoltat de Microsoft. Este folosit pentru dezvoltarea diverselor aplicații pentru desktop, web și mobil. Funcțiile sau metodele este un concept în programare. Acel grup de instrucțiuni care sunt utilizate pentru a îndeplini o anumită sarcină este cunoscut ca o funcție sau o metodă. În programele C, execuția începe de la main (). Este un exemplu de metodă. La apelarea unei metode, datele sunt transmise metodei sau primite de la metodă. Metoda care apelează noua metodă este cunoscută ca apelarea metodei. Noua metodă este cunoscută ca metoda numită. Pentru gestionarea valorilor transmise și recuperarea rezultatului, C folosește parametri. Sunt parametri evaluați, parametri de ieșire și parametri de referință. Parametrii de valoare sunt utilizați pentru trecerea parametrilor în metodă după valoare. Parametrii de referință sunt utilizați pentru a transmite parametrii metodei prin referință. Parametrii de ieșire sunt utilizați pentru a transmite rezultatul înapoi de la metodă. În C, cuvântul cheie out este folosit pentru parametrii de ieșire, iar cuvântul cheie ref este folosit pentru a face referire la parametri. Diferența cheie dintre out și ref în C este că, out este un cuvânt cheie folosit pentru a trimite un parametru de ieșire care este utilizat pentru a trece rezultatele de la metoda apelată la metoda de apelare, în timp ce ref este un cuvânt cheie pentru a trimite un parametru de referință care este utilizat pentru a transmite date de la metoda de apelare la metoda apelată și pentru a primi datele de la metoda apelată la metoda de apelare.

Ce apare în C?

Sintaxa pentru o funcție sau o metodă este următoarea. O metodă are un număr de elemente, cum ar fi numele metodei, lista de parametri, tipul de returnare și specificatorul de acces.

(lista de parametri)

{ //instrucțiuni de executat

}

Fiecare metodă are o metodă unică pentru a efectua apelul de funcție. Instrucțiunile executabile sunt între acolade. Tipul returnat explică dacă funcția returnează o valoare sau nu. Când nu există un tip de returnare, se numește void. Specificatorul de acces este utilizat pentru a specifica accesibilitatea metodei în aplicație. Parametrii sunt utilizați pentru a primi sau a transmite date către metodă. Pot exista și metode fără parametri. Parametrii pot fi parametri evaluați, parametri de ieșire sau parametri de referință.

Diferența dintre out și ref în C
Diferența dintre out și ref în C

Parametrii de ieșire sunt utilizați pentru a transmite rezultatele înapoi la metoda de apelare. Pentru aceasta, parametrul trebuie declarat cu cuvântul cheie out. Parametrul de ieșire nu creează o nouă locație de stocare. În general, o metodă returnează o valoare. Dar în C, este posibil să returnați două valori dintr-o funcție folosind parametrii de ieșire. Consultați programul de mai jos.

aplicație namespace1{

Calcul public{

afișare public nulă (out int a, out int b){

int valoare=5;

a=valoare;

b=valoare;

a=a a;

b=bb;

}

public static void main(Șir argumente){

int value1=10, value2=20;

Calcul de calcul=calcul nou();

cal.display(out value1, out value2);

Console. ReadLine();

}

}

}

Funcția de afișare este apelată din metoda principală. Valoarea1 și valoarea doi au 10 și 20, dar nu sunt luate în metodă. Valoarea lui a este 25 și valoarea lui b este, de asemenea, 25 în funcție. Prin urmare, acele valori sunt returnate. Când imprimați valoarea1 și valoarea2, nu va da 10 și 20. În schimb, va imprima 25 și 25. Folosind cuvântul cheie out, valorile multiple pot fi returnate din metodă.

Ce este ref în C?

La trecerea parametrilor după valoare, este creată o nouă locație de stocare pentru fiecare parametru. Parametrii efectivi care au fost trimiși din programul principal nu se modifică. În schimb, acele valori sunt copiate într-o locație separată. Aceste noi copii variabile sunt numite parametri formali. Consultați codul de mai jos.

aplicație namespace1{

Calcul public{

schimbare public void(int x, int y){

int temp;

temp=x;

x=y;

y=temp;

}

public static void main(Șir argumente){

Calcul de calcul=calcul nou();

int p=2;

int q=3;

cal.swap(p, q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Conform programului de mai sus, clasa de calcul are un schimb de metode (). În programul principal, este creat un obiect de tip Calcul. Există două valori precum p și q. Variabila p are valoarea 2 și variabila q are valoarea 3. Aceste două valori sunt transmise metodei swap. În metoda swap, valoarea 2 este copiată în variabila x și valoarea 3 este copiată în variabila y. Folosind variabila temp, valorile sunt schimbate. Înapoi în programul principal, la imprimarea p și q, valorile nu sunt schimbate. Valoarea p este încă 2, iar valoarea q este 3. Chiar și în metoda swap, valorile sunt schimbate, dar nu se reflectă în programul principal.

Spre deosebire de valorile transmise ca mai sus, este posibil să se transmită parametrii prin referință. O variabilă de referință este o referință la locația de memorie. Nu există o nouă locație de memorie creată. Schimbările de metodă reflectate în programul principal. În C, parametrii de referință sunt referiți folosind cuvântul cheie ref. Consultați programul de mai jos.

aplicație namespace1{

Calcul public{

schimb public nul (ref int x, ref int y){

int temp;

temp=x;

x=y;

y=temp;

}

public static void main(Șir argumente){

Calcul de calcul=calcul nou();

int p=2;

int q=3;

cal.swap(ref p, ref q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Conform programului de mai sus, clasa Calculation are metoda swap. În programul principal, este creat un obiect de tip Calcul. Sunt două variabile precum p și q. Variabila p are valoarea 2 și variabila q are valoarea 3. În loc să transmită valori, referința la locațiile de memorie ale lui p și q sunt transmise metodei. Aceste variabile de referință sunt referite folosind ref. În metoda swap, în loc să facă față valorilor într-o locație nouă, modificările sunt aduse parametrilor actuali. Când se imprimă valorile p și q ale programului principal, acesta va da valorile schimbate. Acum valoarea p este 3 și valoarea q este 2.

Care este asemănarea dintre out și ref în C?

Ambele sunt cuvinte cheie folosite pentru a face referire la parametrii unei metode

Care este diferența dintre out și ref în C?

out vs ref în C

The out este un cuvânt cheie în C care este folosit pentru a face referire la un parametru de ieșire. Este folosit pentru a trece rezultatele de la o metodă numită la apelarea metodei. Ref este un cuvânt cheie în C care este folosit pentru a face referire la un parametru de referință. Este folosit pentru a transmite date de la metoda apelată la metoda apelată și pentru a returna date de la metoda apelată la metoda apelată.
Funcționalitate
Când folosiți cuvântul cheie out, datele pot fi transmise de la metoda apelată la metoda apelată. Dar acele date sunt aruncate. Este folosit pentru a transmite rezultatul metodei de apelare de la metoda apelată. Când se utilizează cuvântul cheie ref, datele sunt transmise de la metoda de apelare la metoda apelată, iar datele manipulate sunt transmise înapoi la metoda de apelare.
Trimitere de date
Când folosiți cuvântul cheie out, datele sunt transmise într-un singur mod, care este o metodă apelată la metoda de apelare. Când folosiți cuvântul cheie ref, datele sunt transmise în două moduri, de la metoda apelată la metoda apelată și de la metoda apelată la metoda apelant.

Rezumat – out vs ref în C

La invocarea unei metode, ar putea fi necesar să treceți valorile în metodă și să obțineți înapoi rezultatele din metodă. C are diferiți parametri pentru a realiza acest lucru. Parametrii de valoare sunt utilizați pentru trecerea parametrilor în metodă după valoare. Parametrii de referință sunt utilizați pentru a transmite parametrii metodei prin referință. Parametrii de ieșire sunt utilizați pentru a transmite rezultatul înapoi de la metodă. În C, cuvântul cheie out este folosit pentru parametrii de ieșire, iar cuvântul cheie ref este folosit pentru a face referire la parametri. Diferența dintre out și ref în C este că, out este un cuvânt cheie folosit pentru a trimite un parametru de ieșire care este utilizat pentru a trece rezultatele de la metoda apelată la metoda apelată, în timp ce ref este un cuvânt cheie pentru a trimite un parametru de referință care este utilizat pentru a transmite date de la metoda de apelare la metoda apelată și pentru a primi datele de la metoda apelată la metoda de apelare.

Descărcați PDF-ul out vs ref in C

Puteți descărca versiunea PDF a acestui articol și să o utilizați în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre Out și Ref în C

Recomandat: