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

Inline vs Macro

A C ++ manapság túl messzire ment a számítógépes programozás területén. Hatalmas nyelvként néha zavarba hozza a programozókat, mert hatalmas funkciókkal rendelkezik. Az inline funkció az egyik, amely könnyen összekeverhető a nyelven található makrókkal.
Nem az, hogy kicsi a különbség a kettő között, de kissé zavaróak lehetnek az általuk tartott tulajdonságok miatt. Ebben a cikkben többet fogunk megvitatni az inline függvény és a C makrók közötti különbségekről++.

Sorban
Az inline függvény ugyanúgy, mint a C ++ bármely más funkciója, és rendszeresen hívják. A végrehajtott függvény az, hogy létrehozza a lefordított függvénydefiníció másolatát. Vagyis létrehozza a meghatározott elemek egy példányát, amelyet össze kell állítani. Példa lehet arra, ha bármilyen két egész számot hozzáadunk, és inline függvénynek hívjuk, a fordító létrehozza a lefordítandó egész szám másolatát.
Példa:

Inline int összeg (int x, int y)

Visszatérés (x + y);

Macro
A C ++ makrói végrehajtják a szöveg cseréjét egy program sorban. Vagyis helyettesítik a szöveget a függvényben meghatározott változásnak megfelelően. Az inline-től függően, a makró egy funkció segítségével manipulálja a kódot. Például:
#define DOUBLE (X) X * X

int y = 5;
int j = Kettős (++ y);

Itt kapjuk a 30-as értéket! Mivel a hívás makrón keresztül történt, az „X” helyére ++ y vált, ami ++ y-t egy másik ++ y-vel szorozzon. Ez összesen 5 * 6, azaz 30 nem 6. Ha ez lenne az alapvető, de helytelen válasz.

Most a makrók itt okozhatnak hibát. Tehát egy beépített funkció menthető fel azáltal, hogy másolja az értékeket a fordító memóriájába, majd összeállítja azt.

Összefoglaló:

1.A beépített függvény létrehozza a funkciódefiníció másolatát.
2.A makró helyettesíti a függvényben azonosított és meghatározott szöveget.
3.A beépített funkció akkor is alkalmazható, ha egy makró állítólag hibát okoz a programban.