Î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:
#includefolosind 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.