Ero Makron Ja Sisäisen Toiminnon Välillä

Sisällysluettelo:

Ero Makron Ja Sisäisen Toiminnon Välillä
Ero Makron Ja Sisäisen Toiminnon Välillä

Video: Ero Makron Ja Sisäisen Toiminnon Välillä

Video: Ero Makron Ja Sisäisen Toiminnon Välillä
Video: Ero ja päihteet - Erosta Elossa | Miessakit ry 2024, Saattaa
Anonim

Tärkein ero - Makro vs Sisäinen toiminto

Makro on fragmentti koodista, joka on esikäsittelydirektiivi. Sisäinen toiminto on C ++ -parannustoiminto, joka minimoi ohjelman suoritusajan. Siksi keskeinen ero makron ja sisäisen toiminnon välillä on se, että esiprosessori tarkistaa makron ja kääntäjä tarkistaa sisäisen toiminnon.

Makro sisältyy ohjelman alkuun, jota edeltää hash-merkki. Kun ohjelmassa on makron nimi, se korvataan makron sisällöllä.

SISÄLLYS

1. Esittely ja keskeinen ero

2. Mikä on Macro

3. Mikä on Inline Function

4. Vierekkäin vertailu - Macro vs Inline Tehtävä taulukkomuodossa

5. Yhteenveto

Mikä on makro?

Esiprosessori on ohjelma, joka käsittelee lähdekoodin ennen kuin se kulkee kääntäjän läpi. Se toimii esiprosessorin komentorivillä tai direktiiveillä. Ohjelmassa esikäsittelydirektiivit sijoitetaan lähdeohjelmaan ennen pääohjelmaa. Ennen kuin lähdekoodi kulkee kääntäjän läpi, esiprosessori tarkistaa sen esikäsittelydirektiivejä varten. Esiprosessorin ohjeissa on symboli #. Toisin kuin muut lauseet, ne eivät pääty puolipisteeseen. Yksi esiprosessoridirektiivin tyyppi on makro. Yleensä makrot kirjoitetaan isoilla kirjaimilla.

Ero makron ja sisäisen toiminnon välillä
Ero makron ja sisäisen toiminnon välillä

Kuva 01: C ++ -ohjelma makrojen kanssa

Yllä olevan ohjelman mukaan rivit 3 ja 4 osoittavat makroja. Pinta-alaa laskettaessa PI-arvo korvataan määritetyllä makrolla. Rivillä 14, tilavuus = KUUTI (arvo), esiprosessori laajentaa käskyä tilavuudeksi = (arvo * arvo * arvo). Kuution löytäminen voidaan kirjoittaa funktiona, mutta tässä se kirjoitetaan makrolla. Jos lause on tilavuus = CUBE (x + y), se laajenee tilavuuteen = (x + y * x + y * x + y).

Jotkut ohjelmointitunnukset voidaan helposti kirjoittaa väärin. Ne voidaan korvata makroilla. esim. #define AND &&, #define OR ||. Makromääritelmä voi sisältää myös lausekkeita, kuten #define AREA 4 * 5.56.

Mikä on Inline-toiminto?

Kun funktiota kutsutaan, kääntäjä vie jonkin aikaa sen suorittamiseen. Jos toiminto ei ole kovin monimutkainen, ohjelmoija voi muuntaa toiminnon sisäiseksi toiminnoksi. Katso alla oleva ohjelma.

Ero makron ja sisäisen toiminnon välillä - Kuva 2
Ero makron ja sisäisen toiminnon välillä - Kuva 2

Kuva 02: Toiminto ilman inline-toimintoa

Print_hello on yksinkertainen toiminto. Se tulostaa merkkijonon "Hello", kun toimintoa kutsutaan. Kyseisen toiminnon suoritusaika on 0,187 s. Kun käytetään sisäistä avainsanaa seuraavasti, suoritusaika lyhenee 0,064 sekuntiin.

Tärkein ero makron ja sisäisen toiminnon välillä
Tärkein ero makron ja sisäisen toiminnon välillä

Kuva 03: Sisäinen toiminto

Siksi suoran avainsanan avulla suoritusaika lyhenee. Rivitoiminnot eivät välttämättä toimi, jos silmukoita, kytkinlausekkeita on ja jos funktio sisältää staattisia muuttujia tai rekursiivisia funktioita.

Mikä on ero makron ja sisäisen toiminnon välillä?

Erilainen artikkeli keskellä taulukkoa

Makro vs sisäinen toiminto

Makro on fragmentti koodia, joka on esikäsittelydirektiivi, joka sisältyy ohjelman alkuun, jota edeltää hash-merkki. Sisäinen toiminto on C ++ -parannustoiminto, joka minimoi ohjelman suoritusajan.
Arviointiaika
Makrossa argumentti arvioidaan aina, kun sitä käytetään ohjelmassa. Lausunnossa argumentti arvioidaan kerran.
Tarkistanut
Esiprosessori tarkistaa makron. Kääntäjä tarkistaa sisäisen toiminnon.
Avainsana
Marco käyttää #define. Inline-toiminto käyttää avainsanaa 'inline'.
Käyttö
Makroa voidaan käyttää vakioiden, lausekkeiden, kirjaimellisen tekstin korvaamisen ja toimintojen jne. Määrittelemiseen. Sisäistä toimintoa voidaan käyttää minimoimaan ohjelman suoritusaika.
Irtisanominen
Makro päättyy uudella rivillä. Inline-toiminto päättyy kiharalla aaltosuulakkeella inline-toiminnon lopussa.
Määrittelypiste
Marco määritetään ohjelman alussa. Sisäinen toiminto voi olla luokan sisällä tai ulkopuolella.

Yhteenveto - Makro vs Sisäinen toiminto

Tässä artikkelissa käsiteltiin makron ja sisäisen toiminnon välistä eroa. Näitä käsitteitä käytetään C ++ - ohjelmoinnissa. Makro- ja sisäisen toiminnon ero on siinä, että esiprosessori tarkistaa makron ja kääntäjä tarkistaa sisäisen toiminnon.

Suositeltava: