Atšķirība starp makro un iekļauto funkciju

Satura rādītājs:

Atšķirība starp makro un iekļauto funkciju
Atšķirība starp makro un iekļauto funkciju

Video: Atšķirība starp makro un iekļauto funkciju

Video: Atšķirība starp makro un iekļauto funkciju
Video: DOOGEE S100: The Best Performing and Fastest Rugged Mid-Range Phone 2024, Jūlijs
Anonim

Galvenā atšķirība - makro un iekļautā funkcija

Makro ir koda fragments, kas ir priekšprocesora direktīva. Iekļautā funkcija ir C++ uzlabošanas līdzeklis, lai samazinātu programmas izpildes laiku. Tāpēc galvenā atšķirība starp makro un iekļauto funkciju ir tāda, ka makro pārbauda priekšprocesors, bet iekļauto funkciju pārbauda kompilators.

Programmas sākumā ir iekļauts makro, pirms kura ir jaucējzīme. Ja programmā ir makro nosaukums, tas tiek aizstāts ar makro saturu.

Kas ir makro?

Priekšprocesors ir programma, kas apstrādā avota kodu, pirms tas nonāk caur kompilatoru. Tas darbojas, izmantojot priekšapstrādātāja komandrindu vai direktīvas. Programmā priekšprocesora direktīvas tiek ievietotas avota programmā pirms galvenās programmas. Pirms avota kods iziet cauri kompilatoram, priekšapstrādātājs pārbauda, vai tam nav priekšprocesora direktīvu. Priekšapstrādātāja direktīvām ir simbols. Atšķirībā no citiem apgalvojumiem tie nebeidzas ar semikolu. Viens no priekšprocesora direktīvas veidiem ir makro. Parasti makro raksta ar lielajiem burtiem.

Atšķirība starp makro un iekļauto funkciju
Atšķirība starp makro un iekļauto funkciju

Attēls 01: C++ programma ar makro

Saskaņā ar iepriekš minēto programmu 3. un 4. rinda norāda makro. Aprēķinot laukumu, PI vērtība tiek aizstāta ar definēto makro. 14. rindā tilpums=CUBE(vērtība), priekšapstrādātājs paplašina priekšrakstu kā tilpums=(vērtībavērtībavērtība). Kuba atrašanu var ierakstīt kā funkciju, bet šeit tas tiek ierakstīts, izmantojot makro. Ja ir priekšraksts kā tilpums=CUBE(x+y), tas tiks izvērsts līdz tilpumam=(x+yx+yx+y).

Dažus programmēšanas marķierus var viegli ievadīt nepareizi. Tos var aizstāt, izmantojot makro. piem. define UN &&, define VAI ||. Makro definīcijā var iekļaut arī tādas izteiksmes kā define AREA 45.56.

Kas ir iekļautā funkcija?

Kad funkcija tiek izsaukta, kompilatoram ir nepieciešams zināms laiks, lai to izpildītu. Ja funkcija nav ļoti sarežģīta, programmētājs var pārveidot funkciju par iekļautu funkciju. Skatiet tālāk norādīto programmu.

Atšķirība starp makro un iekļauto funkciju_2. attēls
Atšķirība starp makro un iekļauto funkciju_2. attēls

Attēls 02: funkcija bez rindiņas

Print_hello ir vienkārša funkcija. Tas izdrukā virkni “Sveiki”, kad tiek izsaukta funkcija. Šīs funkcijas izpildes laiks ir 0,187 s. Izmantojot iekļauto atslēgvārdu šādi, izpildes laiks tiek samazināts līdz 0,064 s.

Galvenā atšķirība starp makro un iekļauto funkciju
Galvenā atšķirība starp makro un iekļauto funkciju

Attēls 03: Iekļautā funkcija

Tāpēc, izmantojot iekļauto atslēgvārdu, izpildes laiks samazinās. Iekļautās funkcijas var nedarboties, ja ir cilpas, pārslēgšanas priekšraksti un ja funkcija satur statiskus mainīgos vai rekursīvas funkcijas.

Kāda ir atšķirība starp makro un iekļauto funkciju?

Makro pret iekļauto funkciju

Makro ir koda fragments, kas ir priekšprocesora direktīva, kas ir iekļauta programmas sākumā, pirms kuras ir jaucējzīme. Iekļautā funkcija ir C++ uzlabošanas līdzeklis, lai samazinātu programmas izpildes laiku.
Novērtēšanas laiks
Makro gadījumā arguments tiek novērtēts katru reizi, kad tas tiek izmantots programmā. Iekļautajā rindā arguments tiek novērtēts vienreiz.
Pārbaudīja
Makro pārbauda priekšapstrādātājs. Kompilators pārbauda iekļauto funkciju.
Atslēgvārds
Marco izmanto define. Iekļautā funkcija izmanto atslēgvārdu “iekļauts”.
Lietošana
Makro var izmantot, lai definētu konstantes, izteiksmes, burtiski aizstātu tekstu un definētu funkcijas utt. Var izmantot iekļauto funkciju, lai samazinātu programmas izpildes laiku.
Izbeigšana
Makro beidzas ar jauno rindiņu. Iekļautā funkcija beidzas ar cirtainu figūriekavu iekļautās funkcijas beigās.
Definēšanas punkts
A Marco ir definēts programmas sākumā. Iekļautā funkcija var būt klasē vai ārpus tās.

Kopsavilkums - makro un iekļautā funkcija

Šajā rakstā tika apspriesta atšķirība starp makro un iekļauto funkciju. Šie jēdzieni tiek izmantoti C++ programmēšanā. Atšķirība starp makro un iekļauto funkciju ir tāda, ka makro pārbauda priekšprocesors, bet iekļauto funkciju pārbauda kompilators.

Ieteicams: