Ero rivin ja makron välillä

Inline vs Macro

C ++ on mennyt aivan liian pitkälle tietokoneohjelmoinnin alalla nykyään. Koska se on voimakas kieli, se saa joskus hieman hämmentämään ohjelmoijia valtavan toimintojen kirjastonsa takia. Sisäinen toiminto on yksi niistä, jotka voidaan helposti sekoittaa kielen makroihin.
Ei ole niin, että näiden kahden välillä olisi pieni ero, mutta ne voivat olla hieman hämmentäviä hallussaan olevien ominaisuuksien vuoksi. Tässä artikkelissa keskustelemme enemmän erotuksista inline-toiminnon ja C: n makrojen välillä++.

Linjassa
Inline-funktio on aivan kuten mikä tahansa muu C ++ -toiminto, ja sitä kutsutaan myös tavanomaisella tavalla. Sen suorittama toiminto on, että se luo kopion kootusta funktion määritelmästä. Toisin sanoen se luo kopion määritetyistä kohteista koottavaksi. Esimerkki voidaan ottaa, jos lisäämme mitä tahansa kahta kokonaislukua ja kutsumme sitä inline-toiminnaksi, kääntäjä luo kopion koottavista kokonaisluvuista.
Esimerkki:

Inline int summa (int x, int y)

Paluu (x + y);

makro
C ++ -makrot toteuttavat tekstin korvaamisen ohjelmarivillä. Toisin sanoen ne korvaavat tekstin toiminnossa määritellyn muutoksen mukaisesti. Toisin kuin rivinä funktiona, makro manipuloi koodia funktion avulla. Esimerkiksi:
#define DOUBLE (X) X * X

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

Täällä saamme arvon 30! Koska kutsu on suoritettu makron kautta, ”X” on korvattu ++ y: llä, mikä tekee ++ y: n kerrottavaksi toisella ++ y: llä. Tämä tekee yhteensä 5 * 6, joka on 30 eikä 6. Kuusi olisi perus, mutta väärä vastaus.

Nyt makrot saattavat aiheuttaa virheen täällä. Joten sisäinen toiminto tulee apuun kopioimalla arvot kääntäjien muistiin ja kääntämällä se sitten.

Yhteenveto:

1.Inline-toiminto luo kopion funktion määritelmästä.
2.Makro korvaa toiminnossa tunnistetun ja määritellyn tekstin.
3.Inline-toimintoa käytetään myös silloin, kun makron oletetaan aiheuttavan virheen ohjelmassa.