Sisukord:
- Põhierinevus - makro vs sisemine funktsioon
- Mis on makro?
- Mis on seesmine funktsioon?
- Mis vahe on makro ja sisemise funktsiooni vahel?
- Kokkuvõte - funktsioon Makro vs seesmine funktsioon
Video: Makro Ja Sisemise Funktsiooni Erinevus
2024 Autor: Mildred Bawerman | [email protected]. Viimati modifitseeritud: 2023-12-16 08:38
Põhierinevus - makro vs sisemine funktsioon
Makro on koodijupp, mis on eeltöötlusdirektiiv. Sisseehitatud funktsioon on C ++ täiustamisfunktsioon programmi täitmisaja minimeerimiseks. Seetõttu on peamine erinevus makro ja sisemise funktsiooni vahel see, et eelprotsessor kontrollib makrot, kompileerija aga sisemist funktsiooni.
Makro lisatakse programmi algusesse, millele eelneb räsimärk. Kui programmis on makro nimi, asendatakse see makro sisuga.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on makro
3. Mis on sisemine funktsioon
4. Kõrvuti võrdlus - makro vs seesmine funktsioon tabelina
5. Kokkuvõte
Mis on makro?
Eeltöötleja on programm, mis töötleb lähtekoodi enne kompilaatori läbimist. See töötab eeltöötleja käsurea või direktiivide abil. Programmis paigutatakse eeltöötleja direktiivid lähteprogrammi enne põhiprogrammi. Enne lähtekoodi kompilaatorist läbimist kontrollib eeltöötleja seda eeltöötleja direktiivide jaoks. Eeltöötleja direktiividel on sümbol #. Erinevalt teistest väidetest ei lõpe need semikooloniga. Üks eelprotsessorite direktiivi tüüp on makro. Üldiselt kirjutatakse makrod suurtähtedega.
Joonis 01: C ++ programm makrode abil
Vastavalt ülaltoodud programmile näitavad read 3 ja 4 makrosid. Pindala arvutamisel asendatakse PI väärtus määratletud makro abil. Real 14, maht = CUBE (väärtus), laiendab eeltöötleja lauset väärtusena = (väärtus * väärtus * väärtus). Kuubi leidmise saab kirjutada funktsioonina, kuid siin on see kirjutatud makro abil. Kui avaldis on maht = CUBE (x + y), siis laieneb see väärtuseni = (x + y * x + y * x + y).
Mõned programmeerimismärgid võidakse lihtsalt valesti sisestada. Neid saab makrode abil asendada. nt #define AND &&, #define OR ||. Makrodefinitsioon võib sisaldada ka selliseid väljendeid nagu #define AREA 4 * 5.56.
Mis on seesmine funktsioon?
Funktsiooni kutsumisel võtab kompilaator selle täitmiseks aega. Kui funktsioon pole eriti keeruline, saab programmeerija funktsiooni teisendada funktsioonisiseseks. Vaadake allolevat programmi.
Joonis 02: funktsioon ilma sissepoole
Prindi_tere on lihtne funktsioon. Funktsiooni kutsumisel prinditakse string “Hello”. Selle funktsiooni täitmisaeg on 0,187 sekundit. Kui kasutate tekstisisest märksõna järgmiselt, väheneb täitmisaeg 0,064 sekundini.
Joonis 03: funktsioon sees
Seetõttu lüheneb tekstisisese märksõna abil täitmisaeg. Tekstisisesed funktsioonid ei pruugi töötada, kui on tsükleid, lülitilauseid ja funktsioon sisaldab staatilisi muutujaid või rekursiivseid funktsioone.
Mis vahe on makro ja sisemise funktsiooni vahel?
Erinev artikkel keskel enne tabelit
Makro vs seesmine funktsioon |
|
Makro on koodijupp, mis on eeltöötlusdirektiiv, mis sisaldub programmi alguses, millele eelneb räsimärk. | Sisseehitatud funktsioon on C ++ täiustamisfunktsioon programmi täitmisaja minimeerimiseks. |
Hindamisaeg | |
Makros hinnatakse argumenti iga kord, kui seda programmis kasutatakse. | Ridavalt hinnatakse argumenti üks kord. |
Kontrollitud | |
Eeltöötleja kontrollib makrot. | Koostaja kontrollib tekstisisest funktsiooni. |
Märksõna | |
Marco kasutab #define. | Funktsioon tekstisisene kasutab märksõna 'inline'. |
Kasutamine | |
Makrot saab kasutada konstantide, avaldiste, sõna otseses mõttes teksti asendamiseks ja funktsioonide jne määratlemiseks. | Programmi käivitamisaja minimeerimiseks saab kasutada sisemist funktsiooni. |
Lõpetamine | |
Makro lõpeb uue reaga. | Funktsioon Inline lõpeb sisemise funktsiooni lõpus oleva lokkisulguriga. |
Määratluspunkt | |
Marco on määratletud programmi alguses. | Sisseehitatud funktsioon võib olla nii klassi sees kui ka väljaspool seda. |
Kokkuvõte - funktsioon Makro vs seesmine funktsioon
Selles artiklis käsitleti makro ja sisemise funktsiooni erinevust. Neid mõisteid kasutatakse C ++ programmeerimisel. Makro ja tekstisisese funktsiooni erinevus seisneb selles, et makrot kontrollib eeltöötleja, sisemist funktsiooni kontrollib kompilaator.
Soovitatav:
Erinevus Suhte Ja Funktsiooni Vahel
Seos vs funktsioon Alates keskkooli matemaatikast saab funktsioon levinud terminiks. Isegi kui seda kasutatakse üsna sageli, kasutatakse seda ilma korralikult
Tõenäosuse Jaotuse Funktsiooni Ja Tõenäosuse Tiheduse Funktsiooni Erinevus
Tõenäosuse jaotuse funktsioon vs tõenäosuse tiheduse funktsioon Tõenäosus on sündmuse toimumise tõenäosus. See idee on väga levinud ja
Diskreetse Funktsiooni Ja Pideva Funktsiooni Erinevus
Diskreetfunktsioon vs pidevfunktsioonifunktsioonid on üks olulisemaid matemaatiliste objektide klasse, mida kasutatakse laialdaselt peaaegu kõigis
Funktsiooni Prototüübi Ja Funktsiooni Definitsiooni Erinevus C-s
Klahvide erinevus - funktsiooni prototüüp vs funktsiooni määratlus funktsioonis C Funktsioon on lausete rühm, mida kasutatakse konkreetse ülesande täitmiseks. C-programmeerimisel on th
Erinevus Riigi Funktsiooni Ja Tee Funktsiooni Vahel
Peamine erinevus - olekufunktsioon vs rajafunktsioon Termodünaamika on füüsikalise keemia peamine haru, mis näitab termokeemilisi seoseid