Makro je delček kode, ki je predprocesorska direktiva. Funkcija vgrajevanja je funkcija izboljšave C ++, da zmanjša čas izvajanja programa. Zato je ključna razlika med Macro in Inline Function je to predprocesor makro preveri makro, medtem ko prevajalnik funkcijo vgradi.
Makro je vključen na začetek programa, pred katerim je hash znak. Ko je v programu ime makra, ga nadomesti vsebina makra.
1. Pregled in ključne razlike
2. Kaj je makro
3. Kaj je funkcija Inline
4. Primerjava ob strani - funkcija makro proti vmesniku v tabeli
5. Povzetek
Predprocesor je program, ki obdela izvorno kodo, preden preide skozi prevajalnik. Deluje z ukazno vrstico predhodnika ali z direktivami. V programu so predprocesorske direktive postavljene v izvorni program pred glavnim programom. Preden gre izvorna koda skozi prevajalnik, ga predhodnik preveri glede direktiv predhodnika. Predpogonske direktive imajo simbol #. Za razliko od drugih navedb se ne končajo s podpičjem. Ena vrsta direktiv za predprocesorje je makro. Na splošno so makroni napisani z velikimi tiskanimi črkami.
Slika 01: Program C ++ z makroni
V skladu z zgornjim programom vrstica 3 in vrstica 4 kažeta makra. Pri izračunu površine se vrednost PI nadomesti s pomočjo definiranega makra. V vrstici 14, volumen = CUBE (vrednost), predprocesor širi stavek kot volumen = (vrednost * vrednost * vrednost). Iskanje kocke lahko zapišemo kot funkcijo, tukaj pa je zapisana z makro. Če je izjava kot glasnost = CUBE (x + y), se bo razširila na glasnost = (x + y * x + y * x + y).
Nekaterih programskih žetonov je mogoče preprosto napačno vpisati. Nadomestimo jih lahko z uporabo makrov. npr. #define IN &&, #define ALI || Opredelitev makrov lahko vključuje tudi izraze, kot je #define AREA 4 * 5.56.
Ko se pokliče funkcija, prevajalniku potrebuje nekaj časa, da ga izvede. Če funkcija ni zelo zapletena, lahko programer funkcijo pretvori v vgrajeno funkcijo. Glejte spodnji program.
Slika 02: Funkcija brez inline
Print_hello je preprosta funkcija. Ko pokliče funkcijo, natisne niz "Hello". Čas izvajanja te funkcije je 0,187s. Če uporabite ključno besedo inline, se izvedbeni čas zmanjša na 0,064s.
Slika 03: Vgrajena funkcija
Zato se z uporabo ključne besede vgradi čas izvedbe. Vgrajene funkcije morda ne bodo delovale, če obstajajo zanke, stavki preklopa in če funkcija vsebuje statične spremenljivke ali rekurzivne funkcije.
Makro proti vgrajeni funkciji | |
Makro je delček kode, ki je predprocesorska direktiva, ki je vključena na začetku programa, pred katerim je hash znak. | Funkcija vgrajevanja je funkcija izboljšave C ++, da zmanjša čas izvajanja programa. |
Čas ocenjevanja | |
V makro se argument ovrednoti vsakič, ko ga uporabimo v programu. | Vgrajeno je argument ovrednoten enkrat. |
Preveril | |
Predprocesor preveri makro. | Prevajalnik preveri vgrajeno funkcijo. |
Ključna beseda | |
Marco uporablja #define. | Funkcija vgrajeno uporablja ključno besedo "inline". |
Uporaba | |
Makro lahko uporabimo za definiranje konstant, izrazov, za dobesedno nadomeščanje besedila in za določanje funkcij itd. | Vgrajena funkcija je mogoče uporabiti za zmanjšanje časa izvajanja programa. |
Prekinitev | |
Makro preneha z novo vrstico. | Funkcija vgrajevanja se konča s kodrastim naramnico na koncu funkcije v roki. |
Definiranje točke | |
Marco je opredeljen na začetku programa. | Vgrajena funkcija je lahko znotraj ali zunaj razreda. |
Ta članek govori o razliki med makro in funkcijo Inline. Ti koncepti se uporabljajo v programiranju C ++. Razlika med makro in vdelano funkcijo je v tem, da makro preverja predprocesor, vgrajeno funkcijo pa prevajalnik.
1. "Predprocesne direktive." Cplusplus.com. Na voljo tukaj
2. "C vgrajene funkcije." Www.tutorialspoint.com, Tutorials Point, 19. marca 2018. Na voljo tukaj