Разница между встроенным и макро

Встроенный против Макро

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

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

Inline int sum (int x, int 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. Встроенная функция также применяется, когда предполагается, что макрос вызывает ошибку в программе..