Kulcskülönbség - Makró vs beépített funkció
A makró a kód töredéke, amely egy előfeldolgozó irányelv. Az inline függvény a C ++ fejlesztési szolgáltatás, amely minimalizálja a program végrehajtási idejét. Ezért a legfontosabb különbség a Makró és az Inline Function között az, hogy egy makrót az előprocesszor, míg egy inline funkciót a fordító ellenőriz.
A program elején egy makró szerepel, amelyet kivonatjel követ. Ha a programban van makrónév, akkor a makró tartalma helyébe lép.
TARTALOM
1. Áttekintés és kulcsfontosságú különbségek
2. Mi a makró
3. Mi az az inline funkció
4. Egymás mellett történő összehasonlítás - Makró vs Inline funkció táblázatos formában
5. Összefoglalás
Mi az a makró?
Az előfeldolgozó olyan program, amely a fordítón való áthaladás előtt feldolgozza a forráskódot. Az előfeldolgozó parancssorával vagy az irányelvekkel működik. A programban az előfeldolgozó irányelvek a forrásprogramba kerülnek a főprogram előtt. Mielőtt a forráskód átmegy a fordítón, az előprocesszor ellenőrzi az előfeldolgozó direktívákat. Az előfeldolgozó irányelvek # szimbólummal rendelkeznek. Más állításokkal ellentétben ezek nem záródnak pontosvesszővel. Az előfeldolgozó irányelvek egyik típusa a makró. Általában a makrókat nagybetűkkel írják.
01. ábra: C ++ program makrókkal
A fenti program szerint a 3. és a 4. sor makrókat jelöl. A terület kiszámításakor a PI értéket a megadott makróval helyettesítik. A 14. sorban: volume = CUBE (érték) az előfeldolgozó kiterjeszti az utasítást volume = (érték * érték * érték) értékkel. A kocka megkeresése írható függvényként, de itt makró segítségével íródik. Ha van olyan utasítás, amelynek volumene = CUBE (x + y), akkor a = = (x + y * x + y * x + y) értékre bővül.
Egyes programozási tokenek könnyen elírhatók. Makrókkal cserélhetők. pl. #define AND &&, #define OR ||. A makródefiníció olyan kifejezéseket is tartalmazhat, mint a #define AREA 4 * 5.56.
Mi az Inline Function?
Ha egy függvény meghívásra kerül, a fordítónak egy kis időbe telik annak végrehajtása. Ha a funkció nem túl összetett, akkor a programozó átalakíthatja a függvényt inline függvénnyé. Olvassa el az alábbi programot.
02. ábra: Funkció inline nélkül
A print_hello egyszerű funkció. A függvény meghívásakor kinyomtatja a „Hello” karakterláncot. A függvény végrehajtási ideje 0,187 másodperc. Ha az inline kulcsszót a következőképpen használja, a végrehajtás ideje 0,064 másodpercre csökken.
03. ábra: Inline funkció
Ezért az inline kulcsszó használatával csökken a végrehajtási idő. Előfordulhat, hogy az inline függvények nem működnek, ha vannak hurkok, switch 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?
Különböző cikk a táblázat előtt
Makró vs beépített funkció |
|
A makró a kód töredéke, amely egy előfeldolgozó irányelv, amely a program elején hash előjel előtt szerepel. | Az inline függvény a C ++ fejlesztési szolgáltatás, amely minimalizálja a program végrehajtási idejét. |
Értékelési idő | |
Makróban az argumentum minden alkalommal kiértékelődik, amikor a programban használják. | A sorban 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-t használja. | Az inline függvény az 'inline' kulcsszót használja. |
Használat | |
A makró használható konstansok, kifejezések, szó szerinti szövegpótlás és függvények stb. Meghatározására. | Inline funkcióval minimalizálható a program futtatási ideje. |
Megszüntetés | |
A makró az új sorral végződik. | Az inline funkció az inline függvény végén lévő göndör merevítővel fejeződik be. |
Pont meghatározása | |
A program elején meghatározunk egy Marco-t. | Az inline funkció lehet az osztályon belül vagy kívül. |
Összegzés - Makró vs beépített funkció
Ez a cikk a makró és az inline funkció közötti különbséget tárgyalta. Ezeket a fogalmakat a C ++ programozásban használják. A makró és az inline funkció közötti különbség az, hogy egy makrót az előfeldolgozó, míg egy inline funkciót a fordító ellenőriz.