Sådan returneres en pointer fra funktioner i C++

Sadan Returneres En Pointer Fra Funktioner I C



I C++ er funktionen en kodeblok, der introduceres for at udføre en eller anden funktion, og pointere bruges til at pege på variablerne i funktionen. Pointere tildeles adressen.

Sådan returneres en pointer fra funktioner i C++

I C++ er det muligt at returnere en pointer fra en funktion. Dette kan opnås ved at erklære en returtypefunktion som en pointer til denne funktion. Hver funktion, der oprettes, tager en udpeget adresse i hukommelsen. Stjernen * indsættes til venstre for navnet på funktionen.







Syntaks

Dette er en syntaks til at returnere en pointer fra en funktion i C++:



Vend tilbage type ( * function_pointer_name ) ( argument_type_1, argument_type_2, ……, argument_type_n ) = funktionsnavn ;

Eksempel 1

Dette eksempel illustrerer returneringen af ​​en pointer fra en funktion i C++:



#include

ved brug af navneområde std ;

ugyldig resultat ( int & -en )

{

-en + = 10 ;

}

int vigtigste ( )

{

int x = 40 ;

//pointer vender tilbage fra funktionen

ugyldig ( * ptr ) ( int & ) = & resultat ;

ptr ( x ) ;

cout << x << endl ;

Vend tilbage 0 ;

}

I denne kildekode erklæres en ugyldig resultatfunktion og tager referencen til int a, som øges 10 gange. En variabel x gemmer værdien 40, og *ptr peger på funktionen int&. Ass ptr peger på resultatet, så x'et øges med 10.





Værdien af ​​input x øges med 10 og returneres med 50.



Eksempel 2

Dette er et eksempel, der beregner arbejdernes ugentlige løn:

#include

ved brug af navneområde std ;

dobbelt & Get WeeklyHours ( )

{

dobbelt h = 32,65 ;

dobbelt & timer = h ;

Vend tilbage timer ;

}

dobbelt * Få Løn ( )

{

dobbelt løn = 42,48 ;

dobbelt * Timeløn = & løn ;

Vend tilbage Timeløn ;

}

int vigtigste ( )

{

dobbelt timer = Get WeeklyHours ( ) ;

dobbelt løn = * Få Løn ( ) ;

cout << 'Ugentlige timer for arbejderne:  ' << timer << endl ;

cout << 'Timeløn for arbejderne:' << løn << endl ;

dobbelt Ugentlig Løn = timer * løn ;

cout << 'Ugeløn for arbejdere:' << Ugentlig Løn << endl ;

Vend tilbage 0 ;

}

I denne kildekode er timer og timeløn indtastet. Returmarkøren fra funktionens metode bruges til at få adgang til disse parametre og beregne arbejdernes ugentlige løn.

Ved at kende ugentlige timer og timeløn kan ugelønnen beregnes ved at gange begge vilkår.

Konklusion

I C++ er det muligt at returnere en pointer fra en funktion. Dette kan opnås ved at erklære en returtypefunktion som en pointer til denne funktion. Hver funktion, der oprettes, tager en udpeget adresse i hukommelsen.