Inline и Macro

Anonim

Inline vs Macro

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

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

Inline int sum (int x, int y) { Возврат (x + y); }

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

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

Здесь мы получим значение 30! Поскольку вызов был выполнен с помощью макроса, «X» был заменен на ++ y, что делает ++ y умножаться на другой ++ y. Это составляет в общей сложности 5 * 6, что составляет 30 не 6. Шесть будет основным, но неправильным ответом.

Теперь макросы могут вызывать ошибку здесь. Поэтому встроенная функция приходит на помощь, копируя значения в память компиляторов и затем компилируя их.

Резюме:

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