Osoittimen palauttaminen funktioista C++:ssa

Osoittimen Palauttaminen Funktioista C Ssa



C++:ssa funktio on koodilohko, joka otetaan käyttöön suorittamaan jokin toiminto, ja osoittimia käytetään osoittamaan funktion muuttujia. Osoittimet määritetään osoitteen kanssa.

Osoittimen palauttaminen funktioista C++:ssa

C++:ssa on mahdollista palauttaa osoitin funktiosta. Tämä voidaan saavuttaa ilmoittamalla palautustyyppifunktio osoittimeksi kyseiseen funktioon. Jokainen luotava funktio saa muistiin määrätyn osoitteen. Tähti * lisätään funktion nimen vasemmalle puolelle.







Syntaksi

Tämä on syntaksi osoittimen palauttamiseksi C++:n funktiosta:



palata tyyppi ( * funktion_osoittimen_nimi ) ( argumentin_tyyppi_1, argumentin_tyyppi_2, ……, argumentin_tyyppi_n ) = funktion_nimi ;

Esimerkki 1

Tämä esimerkki havainnollistaa osoittimen paluuta C++:n funktiosta:



#include

käyttämällä nimiavaruus std ;

mitätön tulos ( int & a )

{

a + = 10 ;

}

int pää ( )

{

int x = 40 ;

//osoitin palaa funktiosta

mitätön ( * ptr ) ( int & ) = & tulos ;

ptr ( x ) ;

cout << x << endl ;

palata 0 ;

}

Tässä lähdekoodissa ilmoitetaan void-tulosfunktio, joka ottaa viittauksen int a:han, jota kasvatetaan 10 kertaa. Muuttuja x tallentaa arvon 40 ja *ptr osoittaa funktioon int&. Ass ptr osoittaa tulosta, joten x:ää kasvatetaan 10:llä.





Syötteen x arvoa kasvatetaan 10:llä ja palautetaan 50:llä.



Esimerkki 2

Tämä on esimerkki työntekijöiden viikkopalkan laskemisesta:

#include

käyttämällä nimiavaruus std ;

kaksinkertainen & Hanki WeeklyHours ( )

{

kaksinkertainen h = 32.65 ;

kaksinkertainen & tuntia = h ;

palata tuntia ;

}

kaksinkertainen * Hanki Palkka ( )

{

kaksinkertainen palkkaa = 42.48 ;

kaksinkertainen * Tuntipalkka = & palkkaa ;

palata Tuntipalkka ;

}

int pää ( )

{

kaksinkertainen tuntia = Hanki WeeklyHours ( ) ;

kaksinkertainen palkkaa = * Hanki Palkka ( ) ;

cout << 'Työntekijöiden viikoittaiset aukioloajat: ' << tuntia << endl ;

cout << 'Työntekijöiden tuntipalkka:' << palkkaa << endl ;

kaksinkertainen Viikkopalkka = tuntia * palkkaa ;

cout << 'Työntekijöiden viikkopalkka:' << Viikkopalkka << endl ;

palata 0 ;

}

Tässä lähdekoodissa tunnit ja tuntipalkka syötetään. Toiminnon menetelmän paluuosoittimella päästään näihin parametreihin ja lasketaan työntekijöiden viikkopalkka.

Viikkotunnit ja tuntipalkat tuntemalla viikkopalkka voidaan laskea kertomalla molemmat ehdot.

Johtopäätös

C++:ssa on mahdollista palauttaa osoitin funktiosta. Tämä voidaan saavuttaa ilmoittamalla palautustyyppifunktio osoittimeksi kyseiseen funktioon. Jokainen luotava funktio saa muistiin määrätyn osoitteen.