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