Különbség a makró és az inline funkció között

Fő különbség - Macro vs Inline Funkció
 

A makró a kód töredéke, amely egy előfeldolgozó irányelv. Az inline funkció egy C ++ fejlesztő szolgáltatás, amely minimalizálja a program végrehajtási idejét. Ezért a kulcs különbség a makró és az inline funkció között az egy makrót az előfeldolgozó ellenőrzi, míg az inline funkciót a fordító ellenőrzi.

A makro szerepel a program elején, amelyet hash jel követ. Ha van makró név a programban, akkor azt felváltja a makró tartalma.

TARTALOMJEGYZÉK

1. Áttekintés és a legfontosabb különbség
2. Mi a makró?
3. Mi az a beépített funkció?
4. Összehasonlítás egymással - Makró vs Inline függvény táblázatos formában
5. Összegzés

Mi a makró??

Az előfeldolgozó egy olyan program, amely feldolgozza a forráskódot, mielőtt áthaladna a fordítón. Az előfeldolgozó parancssorával vagy az irányelvekkel működik. A programban az előfeldolgozó irányelveit a forrásprogramba helyezik a főprogram előtt. Mielőtt a forráskód átkerül a fordítón, az előfeldolgozó ellenőrzi az előfeldolgozó irányelveit. Az előfeldolgozó irányelveinek # szimbóluma van. Más állításokkal ellentétben nem pontosvesszővel végződnek. Az előfeldolgozó irányelv egyik típusa a makró. Általában a makrók nagybetűkkel vannak írva.

01. ábra: C ++ program makrókkal

A fenti program szerint a 3. és a 4. sor a makrókat jelöli. A terület kiszámításakor a PI értéket a meghatározott makróval helyettesítjük. A 14. sorban, kötet = CUBE (érték), az előfeldolgozó kibővíti az állítást kötet = (érték * érték * érték) értékkel. A kocka megtalálása függvényként írható, de itt egy makró segítségével írható. Ha van egy állítás, mint kötet = CUBE (x + y), akkor kibővíti a kötet = (x + y * x + y * x + y).

Egyes programozási jogkivonatokat könnyen el lehet hibásan beírni. Cserélhetők makrókkal. például. #define AND &&, #define OR vagy || A makródefiníció tartalmazhat kifejezéseket, például #define AREA 4 * 5.56.

Mi az a beépített funkció??

Amikor egy függvényt meghívnak, a fordítónak időbe telik annak végrehajtásához. Ha a funkció nem túl bonyolult, akkor a programozó konvertálhatja a funkciót inline funkcióvá. Lásd az alábbi programot.

02 ábra: Funkció inline nélkül

A print_hello egy egyszerű funkció. Kinyomtatja a „Hello” karakterláncot, amikor a funkció meghívásra kerül. A függvény végrehajtási ideje 0,187 s. Ha az inline kulcsszót az alábbiak szerint használja, a végrehajtási idő 0,064 másodpercre csökken.

03. ábra: Belső funkció

Ezért az inline kulcsszó használatával a végrehajtási idő csökken. Előfordulhat, hogy az inline függvények nem működnek, ha vannak hurkok, kapcsoló utasítások és ha a függvény statikus változókat vagy rekurzív függvényeket tartalmaz.

Mi a különbség a makró és az inline funkció között??

Makró vs Inline funkció

A makró egy kódrészlet, amely egy előfeldolgozó irányelv, amelyet a program elején tartalmaz egy hash jel előz. Az inline funkció egy C ++ fejlesztő szolgáltatás, amely minimalizálja a program végrehajtási idejét.
Értékelés ideje
A makróban az argumentum minden alkalommal ki lesz értékelve, amikor azt a programban felhasználják. Inline-ben az érvet egyszer értékelik.
Ellenőrizte
A makrót az előfeldolgozó ellenőrzi. Az inline funkciót a fordító ellenőrzi.
 Kulcsszó
Marco a #define alkalmazást használja. Az inline függvény az 'inline' kulcsszót használja.
Használat
A makró felhasználható állandók, kifejezések meghatározására, a literális szöveg helyettesítésére és a függvények meghatározására. Az inline funkció felhasználható a program végrehajtási idejének minimalizálására.
befejezés
A makró az új sorral véget ér. Az inline funkció a göndör zárójelekkel az inline funkció végén fejeződik be.
Meghatározó pont
A Marco meghatározása a program elején történik. Az inline funkció lehet az osztályon belül vagy kívül.

összefoglalás - mamacro vs Inline Funkció

Ez a cikk a makró és az inline funkció közötti különbséget tárgyalta. Ezeket a fogalmakat használják a C ++ programozásban. A makró és az inline függvény közötti különbség az, hogy a makrót az előfeldolgozó ellenőrzi, míg a inline funkciót a fordító ellenőrzi.

Referencia:

1. „Előfeldolgozói irányelvek.” Cplusplus.com. Itt érhető el 
2. „C soros funkciók.” Www.tutorialspoint.com, útmutatók, 2018. március 19., elérhető itt