I C++ er funksjonen en kodeblokk som introduseres for å utføre en funksjon og pekere brukes til å peke variablene i funksjonen. Pekere tildeles adressen.
Hvordan returnere en peker fra funksjoner i C++
I C++ er det mulig å returnere en peker fra en funksjon. Dette kan oppnås ved å erklære en returtypefunksjon som en peker til den funksjonen. Hver funksjon som opprettes tar en bestemt adresse i minnet. Stjernen * settes inn til venstre for navnet på funksjonen.
Syntaks
Dette er en syntaks for å returnere en peker fra en funksjon i C++:
komme tilbake type ( * funksjonspekernavn ) ( argument_type_1, argument_type_2, ……, argument_type_n ) = funksjonsnavn ;
Eksempel 1
Dette eksemplet illustrerer returen av en peker fra en funksjon i C++:
#include
ved hjelp av navneområde std ;
tomrom resultat ( int & en )
{
en + = 10 ;
}
int hoved- ( )
{
int x = 40 ;
//pekeren kommer tilbake fra funksjonen
tomrom ( * ptr ) ( int & ) = & resultat ;
ptr ( x ) ;
cout << x << endl ;
komme tilbake 0 ;
}
I denne kildekoden erklæres en ugyldig resultatfunksjon og tar referansen til int a som økes 10 ganger. En variabel x lagrer verdien 40, og *ptr peker på funksjonen int&. Ass ptr peker på resultatet, så x-en økes med 10.
Verdien av input x økes med 10 og returneres med 50.
Eksempel 2
Dette er et eksempel som beregner ukelønnen til arbeiderne:
#includeved hjelp av navneområde std ;
dobbelt & GetWeeklyHours ( )
{
dobbelt h = 32,65 ;
dobbelt & timer = h ;
komme tilbake timer ;
}
dobbelt * Få lønn ( )
{
dobbelt lønn = 42,48 ;
dobbelt * Timelønn = & lønn ;
komme tilbake Timelønn ;
}
int hoved- ( )
{
dobbelt timer = GetWeeklyHours ( ) ;
dobbelt lønn = * Få lønn ( ) ;
cout << «Uketid for arbeiderne: » << timer << endl ;
cout << «Timelønn til arbeiderne:» << lønn << endl ;
dobbelt Ukelønn = timer * lønn ;
cout << 'Ukelønn til arbeiderne:' << Ukelønn << endl ;
komme tilbake 0 ;
}
I denne kildekoden er timene og timelønnen lagt inn. Returpekeren fra funksjonens metode brukes for å få tilgang til disse parameterne og beregne ukelønnen til arbeiderne.
Ved å kjenne til uketimer og timelønn kan ukelønnen beregnes ved å multiplisere begge vilkårene.
Konklusjon
I C++ er det mulig å returnere en peker fra en funksjon. Dette kan oppnås ved å erklære en returtypefunksjon som en peker til den funksjonen. Hver funksjon som opprettes tar en bestemt adresse i minnet.