Dallimi midis funksionit makro dhe atij inline

Përmbajtje:

Dallimi midis funksionit makro dhe atij inline
Dallimi midis funksionit makro dhe atij inline

Video: Dallimi midis funksionit makro dhe atij inline

Video: Dallimi midis funksionit makro dhe atij inline
Video: Section 6 2024, Korrik
Anonim

Dallimi kryesor – Funksioni makro vs inline

Një makro është një fragment kodi, i cili është një direktivë paraprocesori. Një funksion inline është një veçori e përmirësimit të C++ për të minimizuar kohën e ekzekutimit të një programi. Prandaj, ndryshimi kryesor midis Funksionit Macro dhe Inline është se një makro kontrollohet nga paraprocesori ndërsa një funksion inline kontrollohet nga përpiluesi.

Një makro përfshihet në fillim të programit të paraprirë nga një shenjë hash. Kur ekziston emri i makros në program, ai zëvendësohet nga përmbajtja e makros.

Çfarë është makro?

Paraprocesori është një program që përpunon kodin burimor përpara se ai të kalojë përmes përpiluesit. Ai funksionon duke përdorur linjën e komandës së paraprocesorit ose direktivat. Në program, direktivat e paraprocesorit vendosen në programin burimor përpara programit kryesor. Përpara se kodi burim të kalojë përmes përpiluesit, ai kontrollohet nga paraprocesori për direktivat e paraprocesorit. Direktivat e paraprocesorit kanë simbolin. Ndryshe nga pohimet e tjera, ato nuk mbarojnë me pikëpresje. Një lloj i direktivës së paraprocesorit është makro. Në përgjithësi, makrot shkruhen me shkronja të mëdha.

Dallimi midis funksionit makro dhe inline
Dallimi midis funksionit makro dhe inline

Figura 01: Programi C++ me makro

Sipas programit të mësipërm, rreshti 3 dhe rreshti 4 tregojnë makro. Gjatë llogaritjes së zonës, vlera PI zëvendësohet duke përdorur makro të përcaktuar. Në rreshtin 14, volume=CUBE(value), paraprocesori zgjeron deklaratën si volume=(vleravleravlera). Gjetja e kubit mund të shkruhet si funksion, por këtu shkruhet duke përdorur një makro. Nëse ka një deklaratë si vëllim=CUBE (x+y), atëherë ai do të zgjerohet në vëllim=(x+yx+yx+y).

Disa kode programimi mund të shtypen lehtësisht gabim. Ato mund të zëvendësohen duke përdorur makro. p.sh. define AND &&, define OR ||. Një përkufizim makro mund të përfshijë gjithashtu shprehje të tilla si define AREA 45.56.

Çfarë është Funksioni Inline?

Kur thirret një funksion, përpiluesit i duhet pak kohë për ta ekzekutuar atë. Nëse funksioni nuk është shumë kompleks, programuesi mund ta konvertojë funksionin në një funksion inline. Referojuni programit të mëposhtëm.

Dallimi midis Funksionit Makro dhe Inline_Figura 2
Dallimi midis Funksionit Makro dhe Inline_Figura 2

Figura 02: Funksioni pa Inline

Printa_përshëndetje është një funksion i thjeshtë. Ai printon vargun "Hello" kur thirret funksioni. Koha e ekzekutimit për atë funksion është 0,187 s. Kur përdorni fjalën kyçe inline si më poshtë, koha e ekzekutimit zvogëlohet në 0,064 s.

Dallimi kryesor midis funksionit makro dhe inline
Dallimi kryesor midis funksionit makro dhe inline

Figura 03: Funksioni në linjë

Prandaj, duke përdorur fjalën kyçe inline, koha e ekzekutimit zvogëlohet. Funksionet inline mund të mos funksionojnë nëse ka unaza, deklarata switch dhe nëse funksioni përmban variabla statike ose funksione rekurzive.

Cili është ndryshimi midis funksionit makro dhe atij inline?

Makro vs Funksioni Inline

Një makro është një fragment kodi, i cili është një direktivë paraprocesori që përfshihet në fillim të programit të paraprirë nga një shenjë hash. Një funksion inline është një veçori e përmirësimit të C++ për të minimizuar kohën e ekzekutimit të një programi.
Koha e Vlerësimit
Në makro, argumenti vlerësohet sa herë që përdoret në program. Në linjë, argumenti vlerësohet një herë.
Kontrolluar nga
Një makro kontrollohet nga paraprocesori. Një funksion inline kontrollohet nga përpiluesi.
Fjalë kyçe
Marco përdor define. Funksioni inline përdor fjalën kyçe 'inline'.
Përdorimi
Makro mund të përdoret për të përcaktuar konstante, shprehje, për zëvendësimin e tekstit të mirëfilltë dhe për të përcaktuar funksionet etj. Një funksion inline mund të përdoret për të minimizuar kohën e ekzekutimit të programit.
Përfundimi
Makro përfundon me linjën e re. Funksioni inline përfundon me mbajtësin kaçurrelë në fund të funksionit inline.
Pika Përcaktuese
Një Marco përcaktohet në fillim të programit. Një funksion inline mund të jetë brenda ose jashtë klasës.

Përmbledhje – Makro vs Funksioni Inline

Ky artikull diskutoi ndryshimin midis Funksionit Macro dhe Inline. Këto koncepte përdoren në programimin C++. Dallimi midis funksionit Macro dhe Inline është se një makro kontrollohet nga paraprocesori ndërsa një funksion inline kontrollohet nga përpiluesi.

Recommended: