Com implementar una trucada per referència en C ++



Aquest article us proporcionarà un coneixement detallat de la trucada per referència en C ++ amb implementacions i de la seva diferència amb la trucada per valor.

Treballar amb C ++ no és una tasca difícil si ja teniu antecedents en C, ja que tots dos comparteixen un munt de conceptes. Però, C ++ té alguns conceptes que no formen part del paradigma C. En aquest article anomenat per referència a C ++, parlarem d’un concepte d’aquest tipus que són les variables de referència i les seves aplicacions en l’ordre següent:

Variables de referència

C ++ ens proporciona un nou tipus de variable, és a dir, una variable de referència. Podem pensar en una variable de referència com un sobrenom de la nostra variable original. És la funcionalitat exacta d’una variable de referència en una línia.





Per exemple, si et dius Harrison però a casa, els membres de la teva família et diuen Harry. Ara anem a veure alguns detalls de les variables de referència. La declaració i l’ús d’aquest tipus de variables són diferents de les variables habituals que fem servir, però molt similars a les variables de punter.

Sintaxi:



int Hello = 1 int * ptr int & World = Hello

Quan creem una variable 'Hola' que conté el valor '1', s'utilitza un segment de memòria per fer mal al valor '1'; el nom d'aquest segment serà 'Hola' i l'adreça d'aquest segment serà un valor hexadecimal, per exemple.0x64. quan escrivimint& Món = HolaEs crea la variable 'Món' que apunta cap a la mateixa ubicació de memòria.

php mysql_fetch_array

La inclusió de la línia World ++ farà canvis a l’adreça 0x64, això vol dir que també canviarà el valor de la variable 'Hola'. Alguns podrien assenyalar que com són variables de referència diferents de les variables punter que tractarem a la darrera part d’aquest post.

Truca per valor i Truca per referència en C ++

Truca per valor: Trucar per valor és un mètode àmpliament utilitzat. La majoria de les vegades utilitzeu l’enfocament de la trucada per valor, ja que no voleu que es canviïn els valors originals de les variables. Per tant, hem utilitzat el mètode de crida per valor per cridar a una funció, només es passen els valors de les variables. Això s’aconsegueix creant variables fictícies a la memòria.



#include using namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Truca per valor en C ++

A la imatge anterior, podem veure que tan bon punt anomenem la funció add () els valors de les variables x i y es copien a les variables a i b. A i b són variables fictícies.

Truca per referència: Ara, parlem de la trucada per mètode de referència. En aquest mètode no es creen variables fictícies separades, es passa al mètode una referència d'una variable ja existent. Aquesta referència apunta a la mateixa ubicació de memòria, de manera que no es fan còpies separades a la memòria. El punt important a tenir en compte aquí és que els canvis realitzats a les variables de referència es reflecteixen a la variable fictícia.

#include using namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {if (a 

Com podem veure, la funció anterior té un aspecte diferent en comparació amb les funcions normals, ja que el tipus de retorn és ‘int &’. Aquesta funció retorna una referència a ab segons la condició. El punt important a tenir en compte aquí és que els valorsno es retornen.

Si anomenem la funció min (x, y) = 10. 10 s’assignarà a x si és mínima o a y si y és mínima.

Trucada per referència contra el punter

En tots els nostres exemples, hem vist que sempre hem assignat un valor a la variable de referència que hem creat, ja que les variables de referència no poden ser NULL, mentre que les variables de punter poden ser NULES i poden provocar errors inesperats.

com utilitzar el navegador sqlite

Les variables de referència no es poden reassignar, mentre que les variables de punter poden apuntar cap a una altra variable més endavant del programa.

Una variable punter conté el valor de l'adreça d'una variable particular, mentre que l'adreça de la variable de referència és la mateixa que la de la variable a la qual fa referència.

Amb això, arribem al final d’aquest article anomenat per referència a C ++. Espero que tingueu una comprensió de la implementació de la convocatòria per valor i referència i en què es diferencien.

Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate & Spring

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.