Како користити показиваче функција у Ц++

Kako Koristiti Pokazivace Funkcija U C



У Ц++, показивачи функција нуде моћан алат за манипулисање функцијама као подацима. А показивач функције је променљива која садржи меморијску адресу функције. Функционише слично као стандардни показивач само што чува адресу функције, а не адресу објекта података. Кључно је то имати на уму показивачи функција су једноставно друга врста променљивих у Ц++, и као такве, морају бити декларисане и иницијализоване слично другим променљивим.

Дефинисање показивача функције

Синтакса за декларисање а показивач функције је као што следи:







ретурн_типе ( * фунц_птр_наме ) ( листа_параметара ) ;



овде, фунц_птр_наме је назив за показивач функције , ретурн_типе је тип повратка функције, и листа_параметара је листа параметара које функција узима.



Ево примера кода за коришћење показивача функције у Ц++.





#инцлуде<стдио.х>
#инцлуде<иостреам>
користећи простор имена стд;

празнина коцка ( инт к )
{
цоут << 'Коцка броја је' << Икс * Икс * Икс << ендл;
}

инт маин ( )
{
празнина ( * фунПтр ) ( инт ) ;
фунПтр = & коцка;
фунПтр ( 5 ) ;
повратак 0 ;
}

У коду изнад, показивач функције проглашава се неважећим (*фунПтр)(инт) , а иницијализује се чувањем адресе функције коцке() у фунПтр , што значи да фунПтр указује на функцију коцка () . Дакле, функцију коцке можемо позвати користећи фунПтр ( показивач функције ) као у коду фунПтр (5).



Излаз

А показивач функције , за разлику од других показивача, указује на код, а не на податке. А показивач функције често чува почетак извршног кода. За разлику од стандардних показивача, ми не користимо показивачи функција да доделите или ослободите меморију. Као што смо видели у горњем програму, такође је могуће користити име функције да би се одредила њена локација. Иста правила која важе за нормалне показиваче важе и за низ показивачи функција . Употреба показивача функција може се користити уместо случајева прекидача. А показивач функције може бити достављен као аргумент и враћен из функције, баш као што показивач података може.

Предности показивача функција

Главне предности од показивачи функција су наведене у наставку.

1: Поновна употреба кода

Једна од кључних предности коришћења показивачи функција је да дозвољавају поновну употребу у коду. Уместо да морате да пишете јединствене функције за сваку околност, можете да дизајнирате функције које су довољно опште да се баве разним врстама улазних података тако што ћете дефинисати показивач функције откуцајте и користите га доследно у целом коду. Уместо тога, све што треба да урадите је да обезбедите право показивач функције током извршавања или кроз конфигурациони фајл, а функција ће се прилагодити захтевима тренутног посла. Ово не само да убрзава процес развоја, већ и побољшава модуларност вашег кода и дугорочну могућност одржавања.

2: Динамичко понашање током рада

Могућност имплементације динамичког понашања током извршавања је још једна предност коришћења показивачи функција . На пример, можда имате функцију која извршава одређени прорачун, али тачан алгоритам који се користи за извођење тог прорачуна зависиће од корисничког уноса или услова система. Чувањем а показивач функције који одговара сваком могућем алгоритму, можете изабрати одговарајући у току извршавања користећи иф-елсе изјаве или другу условну логику. Радећи ово, можете развити веома флексибилан код који може да одговори на промене услова без потребе за реконструисањем целог програма.

3: Флексибилност

У Ц++, показивачи функција нуде моћан алат за креирање флексибилног, генеричког кода. Показивачи функција су у суштини променљиве које држе адресу меморијске локације функције. Они омогућавају да се функције чувају у структурама података као што су низови или листе, дају се као аргументи другим функцијама, па чак и да се користе за динамички одабир праве функције за извршавање на основу околности извођења или корисничког уноса.

Закључак

Показивачи функција у Ц++ су ефикасне које подржавају динамичко понашање током извршавања и поновну употребу кода. Можете да пишете изузетно флексибилан и прилагодљив код који се може прилагодити променљивим захтевима током времена тако што ћете чувати адресе функција у променљивим. Показивачи функција су неопходни сваком професионалном Ц++ кодеру, упркос чињеници да може захтевати мало рада да би научили.