Diferența Dintre Funcția Macro și Funcția Inline

Cuprins:

Diferența Dintre Funcția Macro și Funcția Inline
Diferența Dintre Funcția Macro și Funcția Inline

Video: Diferența Dintre Funcția Macro și Funcția Inline

Video: Diferența Dintre Funcția Macro și Funcția Inline
Video: Educație financiară cu Ana și Radu - Episodul 4 – Cererea și oferta 2024, Aprilie
Anonim

Diferența cheie - Funcția macro vs funcția Inline

O macro este un fragment de cod, care este o directivă de preprocesare. O funcție inline este o caracteristică de îmbunătățire C ++ pentru a minimiza timpul de execuție al unui program. Prin urmare, diferența cheie între funcția Macro și funcția Inline este că o macro este verificată de preprocesor în timp ce o funcție inline este verificată de către compilator.

O macro este inclusă la începutul programului precedată de un semn hash. Când există numele macro-ului în program, acesta este înlocuit cu conținutul macro-ului.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este macro

3. Ce este funcția Inline

4. Comparație side by Side - Funcția macro vs Inline în formă tabelară

5. Rezumat

Ce este Macro?

Preprocesorul este un program care procesează codul sursă înainte de a trece prin compilator. Funcționează folosind linia de comandă a preprocesorului sau directivele. În program, directivele preprocesorului sunt plasate în programul sursă înainte de programul principal. Înainte ca codul sursă să treacă prin compilator, acesta este verificat de către preprocesor pentru a vedea directivele preprocesorului. Directivele preprocesatorului au simbolul #. Spre deosebire de alte afirmații, acestea nu se termină cu punct și virgulă. Un tip de directivă preprocesator este macro. În general, macro-urile sunt scrise cu majuscule.

Diferența dintre funcția macro și funcția Inline
Diferența dintre funcția macro și funcția Inline

Figura 01: Program C ++ cu macrocomenzi

Conform programului de mai sus, linia 3 și linia 4 indică macrocomenzi. La calcularea zonei, valoarea PI este substituită folosind macro-ul definit. În linia 14, volum = CUBE (valoare), preprocesorul extinde declarația ca volum = (valoare * valoare * valoare). Găsirea cubului poate fi scrisă ca o funcție, dar aici este scris folosind o macro. Dacă există o afirmație ca volum = CUBE (x + y), atunci se va extinde la volum = (x + y * x + y * x + y).

Unele jetoane de programare pot fi ușor greșite. Acestea pot fi înlocuite folosind macrocomenzi. de exemplu #define AND &&, #define OR ||. O definiție macro poate include, de asemenea, expresii precum #define AREA 4 * 5.56.

Ce este funcția Inline?

Când se apelează o funcție, compilatorul are nevoie de ceva timp pentru ao executa. Dacă funcția nu este foarte complexă, programatorul poate converti funcția într-o funcție inline. Consultați programul de mai jos.

Diferența dintre funcția macro și funcția în linie Figura 2
Diferența dintre funcția macro și funcția în linie Figura 2

Figura 02: Funcție fără linie

Print_hello este o funcție simplă. Acesta imprimă șirul „Bună ziua” când funcția este apelată. Timpul de execuție pentru acea funcție este de 0.187s. Când utilizați cuvântul cheie inline după cum urmează, timpul de execuție se reduce la 0,064s.

Diferența cheie între funcția macro și funcția Inline
Diferența cheie între funcția macro și funcția Inline

Figura 03: Funcția Inline

Prin urmare, prin utilizarea cuvântului cheie inline, timpul de execuție se reduce. Este posibil ca funcțiile în linie să nu funcționeze dacă există bucle, instrucțiuni de comutare și dacă funcția conține variabile statice sau funcții recursive.

Care este diferența dintre funcția macro și funcția Inline?

Difuzarea articolului din mijloc înainte de tabel

Funcția Macro vs Inline

O macro este un fragment de cod, care este o directivă de preprocesare care este inclusă la începutul programului precedată de un semn hash. O funcție inline este o caracteristică de îmbunătățire C ++ pentru a minimiza timpul de execuție al unui program.
Timp de evaluare
În macro, argumentul este evaluat de fiecare dată când este utilizat în program. În linie, argumentul este evaluat o singură dată.
Verificate de către
O macro este verificată de preprocesor. O funcție inline este verificată de compilator.
Cuvânt cheie
Marco folosește #define. Funcția inline folosește cuvântul cheie „inline”.
Utilizare
Macro poate fi folosit pentru a defini constante, expresii, pentru substituirea literală a textului și pentru a defini funcții etc. O funcție inline poate fi utilizată pentru a minimiza timpul de execuție al programului.
Rezilierea
Macro se termină cu noua linie. Funcția Inline se încheie cu acoladajul la sfârșitul funcției Inline.
Punct de definire
Un Marco este definit la începutul programului. O funcție în linie poate fi în interiorul sau în afara clasei.

Rezumat - Funcție macro vs funcție inline

Acest articol a discutat despre diferența dintre funcția macro și funcția Inline. Aceste concepte sunt utilizate în programarea C ++. Diferența dintre funcția Macro și funcția Inline este că o macro este verificată de preprocesator în timp ce o funcție inline este verificată de către compilator.

Recomandat: