Különbség A Makró és Az Inline Funkció Között

Tartalomjegyzék:

Különbség A Makró és Az Inline Funkció Között
Különbség A Makró és Az Inline Funkció Között

Videó: Különbség A Makró és Az Inline Funkció Között

Videó: Különbség A Makró és Az Inline Funkció Között
Videó: Market Navigátor 33C rész - Mi a különbség a villaparkok és lakóparkok között" 2024, December
Anonim

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.

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

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.

Különbség a makró és az inline funkció között - 2. ábra
Különbség a makró és az inline funkció között - 2. ábra

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.

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

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.

Ajánlott: