Різниця між Inline та Macro

Inline vs Macro

На сьогоднішній день C ++ занадто далеко зайшов у галузі комп'ютерного програмування. Будучи потужною мовою, іноді стає трохи заплутаним програмістам через величезну бібліотеку функцій. Вбудована функція - одна з них, яку легко можна сплутати з макросами в мові.
Справа не в тому, що між ними є незначна різниця, але вони можуть бути трохи заплутаними через властивості, якими вони володіють. У цій статті ми розповімо докладніше про відмінності між вбудованою функцією та макросами в C++.

В лінію
Вбудована функція подібно до будь-якої іншої функції в C ++ і її також називають регулярним способом. Функція, яку він виконує, полягає в тому, що створює копію складеного визначення функції. Тобто він створює копію визначених елементів для компіляції. Приклад можна взяти, якщо ми додаємо будь-які два цілі числа і називаємо його вбудованою функцією, компілятор створить копію цілих чисел, які слід скласти.
Приклад:

Вбудована сума int (int x, int y)

Повернення (x + y);

Макрос
Макроси на C ++ здійснюють заміну тексту в програмному рядку. Тобто вони замінюють текст відповідно до зміни, визначеної у функції. На відміну від inline як функції, макрос маніпулює кодом за допомогою функції. Наприклад:
#define DOUBLE (X) X * X

int y = 5;
int j = DOUBLE (++ y);

Тут ми отримаємо значення як 30! Оскільки виклик здійснювався за допомогою макросу, "X" було замінено на ++ y, що змушує ++ y помножуватися на інше ++ y. Таким чином, загалом 5 * 6, це 30, а не 6. Шість - це основна, але неправильна відповідь.

Тепер макроси можуть викликати помилку тут. Таким чином, вбудована функція приходить на допомогу, скопіювавши значення в пам'ять компіляторів, а потім компілюючи їх.

Підсумок:

1.Вбудована функція створює копію визначення функції.
2.Макрос замінює текст, визначений та визначений у функції.
3. Вбудована функція також застосовується, коли макрос повинен викликати помилку в програмі.