Ero Inline ja Macro



Inline vs Macro

C ++ on mennyt aivan liian pitkälle alalla tietokoneohjelmointikielten näinä päivinä. Koska voimakas kieli, se joskus saa hieman sekava ohjelmoijat koska sen valtava kirjasto toimintoja. Inline-toiminto on yksi niistä, jotka voidaan helposti sekoittaa makroja kielellä.
Se ei ole, että on olemassa pieni ero näiden kahden, mutta ne voivat olla hieman sekava, koska ominaisuuksia heillä. Tässä artikkelissa, me keskustelemme enemmän eroista inline funktio ja makrot C ++.

Linjassa
Inline toiminto on kuten muutkin toiminto C ++ ja sitä kutsutaan myös tavallisessa tavalla. Toiminto se suorittaa on, että se luo kopion koottu funktion määritelmää. Eli se luo kopion määriteltyjä kohteita koota. Esimerkkinä voidaan ryhtyä, jos lisäämme tahansa kaksi kokonaislukua ja kutsua sitä inline toiminto, kääntäjä luo kopion kokonaislukujen laaditaan.
Esimerkki:

Inline int summa (int x, int y)
{
Return (x + y);
}

makro
Makrot C ++ toteuttaa tekstin korvaaminen ohjelmassa linja. Eli ne korvaavat tekstin mukaan muutoksen määritellyn toiminnon. Toisin inline funktiona, makro manipuloi koodin funktio. Esimerkiksi:
#define DOUBLE (X) X * X

int y = 5;
int j = DOUBLE (++ y);



Täällä saamme arvon 30! Koska kutsuvan on tehty kautta makro, 'X' on korvattu ++ y mikä tekee ++ y kerrottava toinen ++ y. Tämä tekee yhteensä 5 * 6, joka on 30 ole 6. Kuusi olisi perus mutta väärä vastaus.

Nyt makrot saattaa aiheuttaa vian täällä. Joten inline toiminto tulee pelastus kopioimalla arvot kerääjiä 'muisti ja sitten koota se.

Yhteenveto:

1. Inline-toiminto luo kopion funktion määritelmän.
2. Makro korvaa tekstin tunnistettu ja määritelty toiminto.