Inline ja Macro

Anonim

Inline vs. Macro

C ++ on mennyt liian pitkälle tietokoneohjelmoinnin alalla näinä päivinä. Koska se on tehokas kieli, se joskus saa vähän sekava ohjelmoijille sen valtavan toimintakirjaston takia. Inline-toiminto on yksi niistä, jotka voidaan helposti sekoittaa makrojen kanssa kielellä. Ei ole, että näiden kahden välillä on vähäinen ero, mutta ne voivat olla hämmentävää niiden ominaisuuksien takia. Tässä artikkelissa keskustelemme lisää C-mallin sisäisten toimintojen ja makrojen välisistä eroista.

Linjassa Inline-funktio on aivan kuten mikä tahansa muu toiminto C ++: ssä ja sitä kutsutaan myös tavallisella tavalla. Toiminto, jota se suorittaa, on se, että se luo kopion koottu funktion määritelmästä. Eli se luo jäljennöksen määritetyistä kohteista kääntämiseksi. Esimerkki voidaan ottaa, jos lisätään kahta kokonaislukua ja kutsutaan se inline-funktioksi, kääntäjä luo kopion koottavista kokonaislukuista. Esimerkki:

Inline int sum (int x, int y) { Paluu (x + y); }

makro C ++: n makrot tekevät tekstiä korvaamalla ohjelmalinjalla. Eli ne korvaavat tekstin funktion määritellyn muutoksen mukaan. Toisin kuin sisäinen funktio, makro käsittelee koodia toiminnolla. Esimerkiksi: #define DOUBLE (X) X * X

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

Täällä saamme arvon 30! Kun kutsu on tehty makron kautta, "X" on korvattu ++ y: llä, mikä tekee ++ y: n kertoavan toisella ++ y: llä. Tämä tekee yhteensä 5 * 6, joka on 30 ei 6. Kuusi olisi perus mutta väärä vastaus.

Nyt makrot saattavat aiheuttaa virheen täällä. Joten inline-toiminto tulee pelastamaan kopioimalla arvot kääntäjien muistiin ja kääntämällä se sitten.

Yhteenveto:

1.Inline-funktio luo kopion funktion määrityksestä. 2. Makro korvaa funktion tunnistetun ja määritetyn tekstin. 3.Inline-toimintoa käytetään myös silloin, kun makron oletetaan aiheuttavan ohjelman vikaa.