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

Инлине вс Мацро

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

У реду
Инлине функција је као и свака друга функција у Ц ++ и она се такође позива на регуларни начин. Функција коју обавља је да ствара копију састављене дефиниције функције. Односно, ствара копију дефинисаних ставки које треба да састави. Пример се може узети ако додамо било која два цела броја и назовемо га инлине функцијом, преводилац ће створити копију целих бројева који ће се компилирати.
Пример:

Инлине сума (инт к, инт и)

Повратак (к + и);

Макро
Макрои у Ц ++ спроводе замену текста у програмској линији. Односно, они замењују текст у складу са променом која је дефинисана у функцији. За разлику од инлине као функције, макро манипулира кодом помоћу функције. На пример:
#дефине ДОУБЛЕ (Кс) Кс * Кс

инт и = 5;
инт ј = ДОУБЛЕ (++ и);

Овде ћемо добити вредност 30! Пошто је позивање обављено преко макронаредбе, „Кс“ је замењен са ++ и што чини ++ и да се множи са другим ++ и. То чини укупно 5 * 6 што је 30, а не шест. Шест би био основни, али погрешан одговор.

Сада, макрои могу овде да узрокују грешку. Дакле, инлине функција долази до помоћи копирањем вредности у меморију преводилаца и затим компилирањем.

Резиме:

1. Уграђена функција ствара копију дефиниције функције.
2.Макро замењује текст који је идентификован и дефинисан у функцији.
3. Инлине функција се такође примењује када би макро требало да проузрокује грешку у програму.