C++ funkcija yra kodo blokas, kuris įvedamas atlikti kai kurias funkcijas, o rodyklės naudojamos funkcijos kintamiesiems nurodyti. Rodyklės priskiriamos prie adreso.
Kaip grąžinti žymeklį iš funkcijų C++
C++ galima grąžinti rodyklę iš funkcijos. Tai galima pasiekti deklaruojant grąžinimo tipo funkciją kaip tos funkcijos rodyklę. Kiekviena sukurta funkcija atmintyje turi nurodytą adresą. Žvaigždutė * įterpiama funkcijos pavadinimo kairėje.
Sintaksė
Tai sintaksė, skirta grąžinti žymeklį iš funkcijos C++:
grąžinti tipo ( * funkcijos_žymiklio_pavadinimas ) ( argumento_tipas_1, argumento_tipas_2, ……, argumento_tipas_n ) = funkcijos_pavadinimas ;
1 pavyzdys
Šis pavyzdys iliustruoja žymeklio grąžinimą iš funkcijos C++:
#include
naudojant vardų erdvė std ;
tuštuma rezultatas ( tarpt & a )
{
a + = 10 ;
}
tarpt pagrindinis ( )
{
tarpt x = 40 ;
// rodyklė grįžta iš funkcijos
tuštuma ( * ptr ) ( tarpt & ) = & rezultatas ;
ptr ( x ) ;
cout << x << endl ;
grąžinti 0 ;
}
Šiame šaltinio kode yra paskelbta negaliojančio rezultato funkcija ir nuoroda į int a, kuri padidinama 10 kartų. Kintamasis x išsaugo reikšmę 40, o *ptr nurodo funkciją int&. Kaip ptr nurodo rezultatą, taigi x padidinamas 10.
Įvesties x reikšmė padidinama 10 ir grąžinama 50.
2 pavyzdys
Tai yra pavyzdys, kuriame apskaičiuojamas darbuotojų savaitinis atlyginimas:
#includenaudojant vardų erdvė std ;
dvigubai & Gauti savaitės valandas ( )
{
dvigubai h = 32.65 ;
dvigubai & valandų = h ;
grąžinti valandų ;
}
dvigubai * Gaukite atlyginimą ( )
{
dvigubai atlyginimas = 42.48 ;
dvigubai * Valandinis atlyginimas = & atlyginimas ;
grąžinti Valandinis atlyginimas ;
}
tarpt pagrindinis ( )
{
dvigubai valandų = Gauti savaitės valandas ( ) ;
dvigubai atlyginimas = * Gaukite atlyginimą ( ) ;
cout << „Darbininkų savaitės valandos: “ << valandų << endl ;
cout << „Darbuotojų valandinis atlyginimas:“ << atlyginimas << endl ;
dvigubai Savaitinis atlyginimas = valandų * atlyginimas ;
cout << „Darbininkų savaitės atlyginimas“: << Savaitinis atlyginimas << endl ;
grąžinti 0 ;
}
Šiame šaltinio kode įvedamos valandos ir valandinis atlyginimas. Grąžinimo rodyklė iš funkcijos metodo naudojama norint pasiekti šiuos parametrus ir apskaičiuoti darbuotojų savaitinį atlyginimą.
Žinant savaitines valandas ir valandinį atlyginimą, savaitinį atlyginimą galima apskaičiuoti padauginus abu terminus.
Išvada
C++ galima grąžinti rodyklę iš funkcijos. Tai galima pasiekti deklaruojant grąžinimo tipo funkciją kaip tos funkcijos rodyklę. Kiekviena sukurta funkcija atmintyje turi nurodytą adresą.