Разлика између макро и инлине функције

Кључна разлика - Мацро вс Инлине Функција
 

Макро је фрагмент кода који је претпроцесорска директива. Инлине функција је функција за побољшање Ц ++ ради смањења времена извршења програма. Стога кључна разлика између Макро и Инлине Функције је то Препроцесор провјерава макронаредбу, док компајлер провјерава инлине функцију.

Макро је укључен на почетку програма којем претходи хасх знак. Када у програму постоји име макронаредбе, оно се замењује садржајем макроа.

САДРЖАЈ

1. Преглед и кључне разлике
2. Шта је макро
3. Шта је инлине функција
4. Упоредна упоредба - Макро вс инлине функција у табеларном облику
5. Резиме

Шта је макро?

Препроцесор је програм који обрађује изворни код пре него што прође кроз компајлер. Ради помоћу наредбеног ретка претпроцесора или директива. У програму се претпроцесорске директиве постављају у изворни програм пре главног програма. Пре него што изворни код прође кроз компајлер, Препроцесор га проверава на основу наредби прецесора. Препроцесорске директиве имају симбол #. За разлику од других изјава, они се не завршавају тачком са зарезом. Једна врста предпроцесорске директиве је макро. Макрои су углавном написани великим словима.

Слика 01: Ц ++ програм са макроима

Према горњем програму, линија 3 и линија 4 означавају макронаредбе. Када се израчунава површина, ПИ вредност се замењује помоћу дефинисаног макроа. У ретку 14, волумен = ЦУБЕ (вредност), прецесор шири изјаву као волумен = (вредност * вредност * вредност). Проналажење коцке може се написати као функција, али овде се пише помоћу макронаредбе. Ако постоји изјава као волуме = ЦУБЕ (к + и), тада ће се проширити на волумен = (к + и * к + и * к + и).

Неки токени за програмирање могу лако да буду погрешно унети. Могу се заменити макроима. на пример. #дефине И &&, #дефине ИЛИ || Макро дефиниција може такође да укључује изразе као што је #дефине АРЕА 4 * 5.56.

Шта је инлине функција?

Када се функција позове, преводиоцу је потребно неко време да је изврши. Ако функција није веома сложена, програмер може функцију претворити у уграђену функцију. Погледајте доњи програм.

Слика 02: Функција без инлинеа

Принт_хелло је једноставна функција. Штампа низ "Хелло" када се функција позове. Време извршења за ову функцију је 0.187с. Када користите инлине кључну реч на следећи начин, време извршења смањује се на 0,064с.

Слика 03: Инлине функција

Стога се помоћу инлине кључне речи време извршења смањује. Уграђене функције можда неће радити ако постоје петље, изјаве о пребацивању и ако функција садржи статичке променљиве или рекурзивне функције.

Која је разлика између функције макроа и уграђеног?

Макро вс инлине функција

Макро је фрагмент кода, што је прецесорска директива која је укључена на почетку програма, а којој претходи хасх знак. Инлине функција је функција за побољшање Ц ++ ради смањења времена извршења програма.
Време оцењивања
У макро, аргумент се процењује сваки пут када се користи у програму. Инлине, аргумент се процењује једном.
Проверио
Препроцесор провјерава макронаредбу. Инлине функцију проверава компајлер.
 Кључна реч
Марцо користи #дефине. Инлине функција користи кључну реч 'инлине'.
Употреба
Макро се може користити за дефинисање константи, израза, за дословно замену текста и за дефинисање функција итд. Инлине функција може се користити за смањење времена извршења програма.
Прекид
Макро завршава новом линијом. Инлине функција завршава коврчавом заградом на крају инлине функције.
Дефинисање тачке
Марцо је дефинисан на почетку програма. Инлине функција може бити унутар или изван класе.

Резиме - Мацро вс Инлине Функција

Овај чланак говори о разлици између макро и инлине функције. Ови концепти се користе у Ц ++ програмирању. Разлика између макро и инлине функције је та што макронаредбу проверава претпроцесор, док инлине функцију проверава компајлер.

Референце:

1. „Предпроцесорске директиве.“ Цплусплус.цом. Доступно овде 
2. "Ц инлине функције." Ввв.туториалспоинт.цом, Туториалс Поинт, 19. марта 2018. Доступно овде