V C++ je funkcia blok kódu, ktorý je zavedený na vykonanie nejakej funkcie a ukazovatele sa používajú na ukazovanie premenných vo funkcii. Ukazovatele sú priradené k adrese.
Ako vrátiť ukazovateľ z funkcií v C++
V C++ je možné vrátiť ukazovateľ z funkcie. Dá sa to dosiahnuť deklarovaním funkcie návratového typu ako ukazovateľa na túto funkciu. Každá vytvorená funkcia má určenú adresu v pamäti. Hviezdička * sa vkladá naľavo od názvu funkcie.
Syntax
Toto je syntax na vrátenie ukazovateľa z funkcie v C++:
vrátiť typu ( * function_pointer_name ) ( argument_type_1, argument_type_2, ……, argument_type_n ) = názov_funkcie ;
Príklad 1
Tento príklad ilustruje návrat ukazovateľa z funkcie v C++:
#include
použitím menný priestor std ;
neplatné výsledok ( int & a )
{
a + = 10 ;
}
int Hlavná ( )
{
int X = 40 ;
//ukazovateľ vráti funkciu
neplatné ( * ptr ) ( int & ) = & výsledok ;
ptr ( X ) ;
cout << X << endl ;
vrátiť 0 ;
}
V tomto zdrojovom kóde je deklarovaná funkcia neplatného výsledku a má odkaz na int a, ktorý je 10-krát zvýšený. Premenná x ukladá hodnotu 40 a *ptr ukazuje na funkciu int&. Keďže ptr ukazuje na výsledok, x sa zvýši o 10.
Hodnota vstupu x sa zvýši o 10 a vráti sa o 50.
Príklad 2
Toto je príklad, ktorý vypočítava týždenný plat pracovníkov:
#includepoužitím menný priestor std ;
dvojitý & GetWeeklyHours ( )
{
dvojitý h = 32,65 ;
dvojitý & hodiny = h ;
vrátiť hodiny ;
}
dvojitý * Získajte plat ( )
{
dvojitý plat = 42,48 ;
dvojitý * Hodinová mzda = & plat ;
vrátiť Hodinová mzda ;
}
int Hlavná ( )
{
dvojitý hodiny = GetWeeklyHours ( ) ;
dvojitý plat = * Získajte plat ( ) ;
cout << „Týždenný pracovný čas pracovníkov: “ << hodiny << endl ;
cout << „Hodinový plat robotníkov: “ << plat << endl ;
dvojitý Týždenný plat = hodiny * plat ;
cout << 'Týždenný plat robotníkov:' << Týždenný plat << endl ;
vrátiť 0 ;
}
V tomto zdrojovom kóde sa zadávajú hodiny a hodinová mzda. Návratový ukazovateľ z metódy funkcie sa používa na prístup k týmto parametrom a výpočet týždenného platu pracovníkov.
Poznaním týždenných hodín a hodinového platu je možné vypočítať týždenný plat vynásobením oboch výrazov.
Záver
V C++ je možné vrátiť ukazovateľ z funkcie. Dá sa to dosiahnuť deklarovaním funkcie návratového typu ako ukazovateľa na túto funkciu. Každá vytvorená funkcia má určenú adresu v pamäti.