Nøgleforskel - Makro vs indbygget funktion
En makro er et fragment af kode, som er et præprocessordirektiv. En inline-funktion er en C ++ forbedringsfunktion for at minimere eksekveringstiden for et program. Derfor er nøgleforskellen mellem makro og inline-funktion, at en makro kontrolleres af forprocessoren, mens en inline-funktion kontrolleres af compileren.
En makro er inkluderet i begyndelsen af programmet forud for et hash-tegn. Når der er makroenavnet i programmet, erstattes det af indholdet af makroen.
INDHOLD
1. Oversigt og nøgleforskel
2. Hvad er makro
3. Hvad er indbygget funktion
4. Sammenligning side om side - Makro versus indbygget funktion i tabelform
5. Resumé
Hvad er makro?
Forprocessoren er et program, der behandler kildekoden, før den passerer gennem compileren. Det fungerer ved hjælp af preprocessor-kommandolinjen eller direktiverne. I programmet placeres forprocessordirektiverne i kildeprogrammet før hovedprogrammet. Før kildekoden går gennem compileren, kontrolleres den af preprocessoren for præprocessordirektiver. Forprocessordirektiverne har symbolet #. I modsætning til andre udsagn slutter de ikke med semikolon. En type præprocessordirektiv er makro. Generelt er makroerne skrevet med store bogstaver.
Figur 01: C ++ - program med makroer
Ifølge ovenstående program angiver linje 3 og linje 4 makroer. Ved beregning af arealet erstattes PI-værdien ved hjælp af den definerede makro. I linje 14, volume = CUBE (værdi), udvider preprocessoren udsagnet som volume = (værdi * værdi * værdi). At finde kuben kan skrives som en funktion, men herinde skrives den ved hjælp af en makro. Hvis der er en erklæring som volumen = CUBE (x + y), udvides den til volumen = (x + y * x + y * x + y).
Nogle programmeringstokens kan let indtastes forkert. De kan udskiftes ved hjælp af makroer. f.eks. #definer OG &&, #definer ELLER ||. En makrodefinition kan også omfatte udtryk som #define AREA 4 * 5.56.
Hvad er indbygget funktion?
Når en funktion kaldes, tager compileren noget tid at udføre den. Hvis funktionen ikke er særlig kompleks, kan programmøren konvertere funktionen til en inline-funktion. Se nedenstående program.
Figur 02: Funktion uden indbygget
Print_hello er en simpel funktion. Den udskriver strengen “Hej”, når funktionen kaldes. Udførelsestiden for denne funktion er 0.187s. Når du bruger det integrerede nøgleord som følger, reduceres udførelsestiden til 0,064 sek.
Figur 03: Inline-funktion
Derfor reduceres udførelsestiden ved at bruge det integrerede nøgleord. De integrerede funktioner fungerer muligvis ikke, hvis der er sløjfer, switch-udsagn, og hvis funktionen indeholder statiske variabler eller rekursive funktioner.
Hvad er forskellen mellem makro og indbygget funktion?
Diff artikel midt foran bordet
Makro vs indbygget funktion |
|
En makro er et fragment af kode, som er et forprocessordirektiv, der er inkluderet i starten af programmet, der er forud for et hash-tegn. | En inline-funktion er en C ++ forbedringsfunktion for at minimere eksekveringstiden for et program. |
Evalueringstid | |
I makro evalueres argumentet hver gang det bruges i programmet. | Inline vurderes argumentet en gang. |
Kontrolleret af | |
En makro kontrolleres af forprocessoren. | En inline-funktion kontrolleres af kompilatoren. |
Nøgleord | |
Marco bruger #define. | Inline-funktionen bruger nøgleordet 'inline'. |
Anvendelse | |
Makro kan bruges til at definere konstanter, udtryk, til bogstavelig tekstudskiftning og til at definere funktioner osv. | En inline-funktion kan bruges til at minimere programmets udførelsestid. |
Afslutning | |
Makro slutter med den nye linje. | Inline-funktion afsluttes med den krøllede bøjle i slutningen af inline-funktionen. |
Definition af punkt | |
En Marco defineres i starten af programmet. | En inline-funktion kan være inden for eller uden for klassen. |
Resumé - Makro vs indbygget funktion
Denne artikel diskuterede forskellen mellem makro og inline-funktion. Disse begreber bruges i C ++ programmering. Forskellen mellem makro og inline-funktion er, at en makro kontrolleres af forprocessoren, mens en inline-funktion kontrolleres af compileren.