Kaip grąžinti žymeklį iš funkcijų C++

Kaip Grazinti Zymekli Is Funkciju C



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:

#include

naudojant 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ą.