Cum să returnezi un pointer din funcții în C++

Cum Sa Returnezi Un Pointer Din Functii In C



În C++, funcția este un bloc de cod care este introdus pentru a îndeplini anumite funcții, iar pointerii sunt folosiți pentru a indica variabilele din funcție. Indicatorii sunt alocați cu adresa.

Cum să returnezi un pointer din funcții în C++

În C++ este posibil să returnați un pointer dintr-o funcție. Acest lucru poate fi realizat prin declararea unei funcții de tip returnare ca indicator către acea funcție. Fiecare funcție creată primește o adresă desemnată în memorie. Asteriscul * este inserat în stânga numelui funcției.







Sintaxă

Aceasta este o sintaxă pentru returnarea unui pointer de la o funcție în C++:



întoarcere tip ( * nume_pointer_funcție ) ( argument_type_1, argument_type_2, ……, argument_type_n ) = nume_funcție ;

Exemplul 1

Acest exemplu ilustrează întoarcerea unui pointer dintr-o funcție în C++:



#include

folosind spatiu de nume std ;

vid rezultat ( int & A )

{

A + = 10 ;

}

int principal ( )

{

int X = 40 ;

//pointerul revine din funcție

vid ( * ptr ) ( int & ) = & rezultat ;

ptr ( X ) ;

cout << X << endl ;

întoarcere 0 ;

}

În acest cod sursă, o funcție de rezultat void este declarată și ia referința la int a care este incrementată de 10 ori. O variabilă x stochează valoarea 40, iar *ptr indică funcția int&. Ass ptr indică rezultatul, deci x este incrementat cu 10.





Valoarea intrării x este incrementată cu 10 și este returnată cu 50.



Exemplul 2

Acesta este un exemplu care calculează salariul săptămânal al lucrătorilor:

#include

folosind spatiu de nume std ;

dubla & GetWeeklyHours ( )

{

dubla h = 32,65 ;

dubla & ore = h ;

întoarcere ore ;

}

dubla * Obțineți salariu ( )

{

dubla salariu = 42,48 ;

dubla * Salariu orar = & salariu ;

întoarcere Salariu orar ;

}

int principal ( )

{

dubla ore = GetWeeklyHours ( ) ;

dubla salariu = * Obțineți salariu ( ) ;

cout << „Oreul săptămânal al lucrătorilor: ” << ore << endl ;

cout << „Salariul orar al muncitorilor:” << salariu << endl ;

dubla Salariu saptamanal = ore * salariu ;

cout << „Salariul săptămânal al muncitorilor:” << Salariu saptamanal << endl ;

întoarcere 0 ;

}

În acest cod sursă, sunt introduse orele și salariul orar. Indicatorul de întoarcere din metoda funcției este utilizat pentru a accesa acești parametri și pentru a calcula salariul săptămânal al lucrătorilor.

Cunoscând orele săptămânale și salariul orar, salariul săptămânal poate fi calculat prin înmulțirea ambilor termeni.

Concluzie

În C++ este posibil să returnați un pointer dintr-o funcție. Acest lucru poate fi realizat prin declararea unei funcții de tip returnare ca indicator către acea funcție. Fiecare funcție creată primește o adresă desemnată în memorie.