Pagkakaiba sa pagitan ng Macro at Inline na Function

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan ng Macro at Inline na Function
Pagkakaiba sa pagitan ng Macro at Inline na Function

Video: Pagkakaiba sa pagitan ng Macro at Inline na Function

Video: Pagkakaiba sa pagitan ng Macro at Inline na Function
Video: Demand and Inverse Demand Function | (How to find the INVERSE demand equation) | Think Econ 2024, Nobyembre
Anonim

Mahalagang Pagkakaiba – Macro vs Inline Function

Ang macro ay isang fragment ng code, na isang preprocessor directive. Ang isang inline na function ay isang tampok na pagpapahusay ng C++ upang mabawasan ang oras ng pagpapatupad ng isang programa. Samakatuwid, ang pangunahing pagkakaiba sa pagitan ng Macro at Inline Function ay ang isang macro ay sinusuri ng preprocessor habang ang isang inline na function ay sinusuri ng compiler.

May kasamang macro sa simula ng program na pinangungunahan ng hash sign. Kapag mayroong macro name sa program, papalitan ito ng content ng macro.

Ano ang Macro?

Ang preprocessor ay isang program na nagpoproseso ng source code bago ito dumaan sa compiler. Gumagana ito gamit ang preprocessor command line o ang mga direktiba. Sa programa, ang mga preprocessor na direktiba ay inilalagay sa source program bago ang pangunahing programa. Bago dumaan ang source code sa compiler, sinusuri ito ng preprocessor para sa mga preprocessor na direktiba. Ang mga preprocessor na direktiba ay may simbolo na. Hindi tulad ng ibang mga pahayag, hindi sila nagtatapos sa isang tuldok-kuwit. Ang isang uri ng preprocessor directive ay macro. Sa pangkalahatan, ang mga macro ay nakasulat sa malalaking titik.

Pagkakaiba sa pagitan ng Macro at Inline na Function
Pagkakaiba sa pagitan ng Macro at Inline na Function

Figure 01: C++ Program with Macros

Ayon sa programa sa itaas, ang linya 3 at linya 4 ay nagpapahiwatig ng mga macro. Kapag kinakalkula ang lugar, ang halaga ng PI ay pinapalitan gamit ang tinukoy na macro. Sa linya 14, volume=CUBE(value), pinapalawak ng preprocessor ang statement bilang volume=(valuevaluevalue). Ang paghahanap ng kubo ay maaaring isulat bilang isang function, ngunit dito ito ay nakasulat gamit ang isang macro. Kung mayroong pahayag bilang volume=CUBE(x+y), lalawak ito sa volume=(x+yx+yx+y).

Maaaring madaling ma-mistype ang ilang programming token. Maaari silang palitan gamit ang mga macro. hal. define AND &&, define OR ||. Ang isang macro definition ay maaari ding magsama ng mga expression gaya ng define AREA 45.56.

Ano ang Inline Function?

Kapag ang isang function ay tinawag, ang compiler ay tumatagal ng ilang oras upang maisagawa ito. Kung ang function ay hindi masyadong kumplikado, maaaring i-convert ng programmer ang function sa isang inline na function. Sumangguni sa programa sa ibaba.

Pagkakaiba sa pagitan ng Macro at Inline na Function_Figure 2
Pagkakaiba sa pagitan ng Macro at Inline na Function_Figure 2

Figure 02: Function na walang Inline

Ang print_hello ay isang simpleng function. Nagpi-print ito ng string na "Hello" kapag tinawag ang function. Ang oras ng pagpapatupad para sa function na iyon ay 0.187s. Kapag ginagamit ang inline na keyword tulad ng sumusunod, ang oras ng pagpapatupad ay bumababa sa 0.064s.

Pangunahing Pagkakaiba sa pagitan ng Macro at Inline na Function
Pangunahing Pagkakaiba sa pagitan ng Macro at Inline na Function

Figure 03: Inline na Function

Samakatuwid, sa pamamagitan ng paggamit ng inline na keyword, nababawasan ang oras ng pagpapatupad. Maaaring hindi gumana ang mga inline na function kung mayroong mga loop, switch statement at kung ang function ay naglalaman ng mga static na variable o recursive function.

Ano ang Pagkakaiba sa pagitan ng Macro at Inline na Function?

Macro vs Inline Function

Ang macro ay isang fragment ng code, na isang preprocessor directive na kasama sa simula ng program na pinangungunahan ng hash sign. Ang isang inline na function ay isang tampok na pagpapahusay ng C++ upang mabawasan ang oras ng pagpapatupad ng isang programa.
Oras ng Pagsusuri
Sa macro, sinusuri ang argumento sa tuwing gagamitin ito sa program. Sa inline, ang argument ay sinusuri nang isang beses.
Sinuri Ni
Ang isang macro ay sinusuri ng preprocessor. Ang isang inline na function ay sinusuri ng compiler.
Keyword
Gumagamit si Marco ng define. Ang inline na function ay gumagamit ng keyword na ‘inline’.
Paggamit
Maaaring gamitin ang macro para tukuyin ang mga constant, expression, para sa literal na pagpapalit ng text at para tukuyin ang mga function atbp. Maaaring gamitin ang isang inline na function para mabawasan ang oras ng pagpapatupad ng program.
Pagwawakas
Macro ay nagtatapos sa bagong linya. Inline na function ay nagtatapos sa curly brace sa dulo ng inline na function.
Pagtukoy sa Punto
Ang isang Marco ay tinukoy sa simula ng programa. Ang isang inline na function ay maaaring nasa loob o labas ng klase.

Buod – Macro vs Inline Function

Tinalakay ng artikulong ito ang pagkakaiba sa pagitan ng Macro at Inline na Function. Ang mga konseptong ito ay ginagamit sa C++ programming. Ang pagkakaiba sa pagitan ng Macro at Inline Function ay ang isang macro ay sinusuri ng preprocessor habang ang isang inline na function ay sinusuri ng compiler.

Inirerekumendang: