Különbség az Inline és a Macro között A különbség a

Anonim

Inline vs Macro

C ++ -on túlságosan messze a számítógépes programozás területén. Hatalmas nyelvhasználat, néha egy kicsit zavaró a programozók számára, mert hatalmas funkciók könyvtára. Az inline funkció egyike azoknak, amelyek könnyen összeilleszthetők a makrók nyelvére.

Nem az, hogy kisebb a különbség a kettő között, de egy kicsit zavaró lehet a tulajdonuk miatt. Ebben a cikkben többet tárgyalunk az inline függvény és a makrók közötti különbségekről a C ++-ban.

Inline

Az inline függvény ugyanúgy, mint bármely más függvény a C ++-ban, és rendszeresen is hívják. Az elvégzett funkció az, hogy létrehozza a fordított függvénydefiníció egy példányát. Ez azt jelenti, hogy a meghatározott elemek másolatát összeállítja. Például lehet, ha két egész számot adunk hozzá, és felhívjuk az inline függvényt, a fordító létrehozza az összeállítandó egész számok másolatát.

Példa:

Inline int összeg (int x, int y)

{

Visszatérés (x + y);

}

Makró

A C ++ makrók végrehajtják a szövegcserét egy programsorban. Ez azt jelenti, hogy a függvényben megadott változásnak megfelelően helyettesítik a szöveget. Az inline függvényektől eltérően a makró egy funkció használatával manipulálja a kódot. Például:

#define DOUBLE (X) X * X

int y = 5;

int j = DOUBLE (++ y);

Itt lesz 30-as érték! Mivel a hívás makróon keresztül történt, az "X" helyére ++ y került, ami ++ y-t egy másik ++ y-val szoroz. Ez összesen 5 * 6, azaz 30 nem 6. Hat lesz az alap, de rossz válasz.

Most a makrók hibát okozhatnak. Tehát egy inline függvény a mentéshez jön létre azáltal, hogy átmásolja az értékeket a fordító memóriájába, majd összeállítja.

Összefoglaló:

1. Az inline függvény létrehozza a funkciódefiníció egy példányát.

2. A makró a funkción belül azonosított és definiált szöveget helyettesíti.

3. Egy inline függvényt akkor is alkalmazni kell, ha egy makró hibát okoz a programban.