Razlika Između Makronaredbe I Ugrađene Funkcije

Sadržaj:

Razlika Između Makronaredbe I Ugrađene Funkcije
Razlika Između Makronaredbe I Ugrađene Funkcije

Video: Razlika Između Makronaredbe I Ugrađene Funkcije

Video: Razlika Između Makronaredbe I Ugrađene Funkcije
Video: Linearne funkcije. Rast i opadanje funkcije. Odredi vrednosti parametra m za koje ce funkcija biti 2024, Studeni
Anonim

Ključna razlika - Makronaredba s ugrađenom funkcijom

Makronaredba je fragment koda, koji je pretprocesorska direktiva. Ugrađena funkcija je značajka poboljšanja C ++ za smanjenje vremena izvršavanja programa. Stoga je ključna razlika između makronaredbe i ugrađene funkcije u tome što makronaredbu provjerava pretprocesor, dok ugrađenu funkciju provjerava prevodilac.

Makronaredba je uključena na početak programa kojem prethodi znak za raspršivanje. Kada u programu postoji naziv makronaredbe, ono se zamjenjuje sadržajem makronaredbe.

SADRŽAJ

1. Pregled i ključna razlika

2. Što je makronaredba

3. Što je ugrađena funkcija

4. Usporedna usporedba - Makronaredba s ugrađenom funkcijom u tabličnom obliku

5. Sažetak

Što je makro?

Pretprocesor je program koji obrađuje izvorni kod prije nego što prođe kroz kompajler. Djeluje pomoću naredbenog retka pretprocesora ili direktiva. U programu se direktive pretprocesora postavljaju u izvorni program prije glavnog programa. Prije nego što izvorni kôd prođe kroz kompajler, pretprocesor ga provjerava radi preduvjeta pretprocesora. Direktive pretprocesora imaju simbol #. Za razliku od ostalih izjava, oni ne završavaju točkom i zarezom. Jedna vrsta direktive pretprocesora je makro. Makronaredbe su uglavnom napisane velikim slovima.

Razlika između makronaredbe i ugrađene funkcije
Razlika između makronaredbe i ugrađene funkcije

Slika 01: Program C ++ s makronaredbama

Prema gornjem programu, redak 3 i redak 4 označavaju makronaredbe. Pri izračunavanju površine, vrijednost PI zamjenjuje se pomoću definirane makronaredbe. U retku 14, volumen = CUBE (vrijednost), pretprocesor proširuje izraz kao volume = (vrijednost * vrijednost * vrijednost). Pronalaženje kocke može se napisati kao funkcija, ali ovdje je zapisano pomoću makronaredbe. Ako postoji izjava kao volume = CUBE (x + y), tada će se proširiti na volume = (x + y * x + y * x + y).

Neki programski tokeni mogu se lako pogrešno upisati. Mogu se zamijeniti pomoću makronaredbi. npr. #define AND &&, #define OR ||. Makro definicija također može sadržavati izraze poput #define AREA 4 * 5.56.

Što je ugrađena funkcija?

Kad se funkcija pozove, prevoditelju treba neko vrijeme da je izvrši. Ako funkcija nije vrlo složena, programer može pretvoriti funkciju u ugrađenu funkciju. Pogledajte donji program.

Razlika između makronaredbe i ugrađene funkcije slika 2
Razlika između makronaredbe i ugrađene funkcije slika 2

Slika 02: Funkcija bez ugrađenog

Print_hello je jednostavna funkcija. Ispisuje niz "Hello" kada je funkcija pozvana. Vrijeme izvršavanja te funkcije je 0,187s. Kada koristite ugrađenu ključnu riječ na sljedeći način, vrijeme izvršavanja smanjuje se na 0,064s.

Ključna razlika između makronaredbe i ugrađene funkcije
Ključna razlika između makronaredbe i ugrađene funkcije

Slika 03: Inline funkcija

Stoga se upotrebom ključne riječi inline smanjuje vrijeme izvršenja. Ugrađene funkcije možda neće raditi ako postoje petlje, naredbe prekidača i ako funkcija sadrži statičke varijable ili rekurzivne funkcije.

Koja je razlika između makronaredbe i ugrađene funkcije?

Diff Article Sredina prije tablice

Makronaredba s ugrađenom funkcijom

Makronaredba je fragment koda, koji je pretprocesorska direktiva koja je uključena na početku programa, a prethodi mu znak za raspršivanje. Ugrađena funkcija je značajka poboljšanja C ++ za smanjenje vremena izvršavanja programa.
Vrijeme procjene
U makronaredbi, argument se procjenjuje svaki put kad se koristi u programu. Inline, argument se procjenjuje jednom.
Provjereno od
Makronaredbu provjerava pretprocesor. Ugrađenu funkciju provjerava prevodilac.
Ključna riječ
Marco koristi #define. Inline funkcija koristi ključnu riječ 'inline'.
Upotreba
Makronaredba se može koristiti za definiranje konstanti, izraza, za doslovnu zamjenu teksta i za definiranje funkcija itd. Ugrađena funkcija može se koristiti za smanjivanje vremena izvršavanja programa.
Raskid
Makro se završava novom linijom. Inline funkcija završava kovrčavom zagradom na kraju inline funkcije.
Definicijska točka
Marko je definiran na početku programa. Ugrađena funkcija može biti unutar ili izvan klase.

Sažetak - Makronaredba s ugrađenom funkcijom

Ovaj je članak raspravljao o razlici između makronaredbe i ugrađene funkcije. Ti se koncepti koriste u programiranju na C ++. Razlika između makronaredbe i ugrađene funkcije je u tome što makronaredbu provjerava pretprocesor, dok ugrađenu funkciju provjerava prevodilac.

Preporučeno: