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:
#includekä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.