Макрос - это фрагмент кода, который является директивой препроцессора. Встроенная функция - это функция расширения C ++, позволяющая минимизировать время выполнения программы. Следовательно ключевое отличие между макросом и встроенной функцией является то, что макрос проверяется препроцессором, а встроенная функция проверяется компилятором.
Макрос включается в начале программы, перед которым стоит знак хеша. Когда в программе есть имя макроса, оно заменяется содержимым макроса.
1. Обзор и основные отличия
2. Что такое макрос
3. Что такое встроенная функция
4. Сравнение бок о бок - Макрос против встроенной функции в табличной форме
5. Резюме
Препроцессор - это программа, которая обрабатывает исходный код до того, как он пройдет через компилятор. Он работает с использованием командной строки препроцессора или директив. В программе директивы препроцессора помещаются в исходную программу перед основной программой. Прежде чем исходный код проходит через компилятор, он проверяется препроцессором на наличие директив препроцессора. Директивы препроцессора имеют символ #. В отличие от других утверждений, они не заканчиваются точкой с запятой. Одним из типов директив препроцессора является макрос. Как правило, макросы написаны заглавными буквами.
Рисунок 01: Программа C ++ с макросами
Согласно вышеупомянутой программе, строка 3 и строка 4 указывают макросы. При расчете площади значение PI подставляется с использованием определенного макроса. В строке 14 volume = CUBE (значение) препроцессор расширяет оператор как объем = (значение * значение * значение). Поиск куба можно записать как функцию, но здесь он написан с использованием макроса. Если есть утверждение как volume = CUBE (x + y), то оно расширится до volume = (x + y * x + y * x + y).
Некоторые токены программирования могут быть легко опечатаны. Их можно заменить с помощью макросов. например #define AND &&, #define OR ||. Определение макроса также может включать такие выражения, как #define AREA 4 * 5.56..
Когда функция вызывается, компилятору требуется некоторое время для ее выполнения. Если функция не очень сложна, программист может преобразовать функцию в встроенную функцию. См. Ниже программу.
Рисунок 02: Функция без встроенного
Print_hello - это простая функция. Он печатает строку «Hello» при вызове функции. Время выполнения этой функции составляет 0,187 с. При использовании встроенного ключевого слова следующим образом время выполнения сокращается до 0,064 с..
Рисунок 03: Встроенная функция
Следовательно, благодаря использованию встроенного ключевого слова время выполнения сокращается. Встроенные функции могут не работать, если есть циклы, операторы switch и если функция содержит статические переменные или рекурсивные функции.
Макрос против встроенной функции | |
Макрос - это фрагмент кода, который представляет собой директиву препроцессора, включенную в начало программы, перед которой стоит знак хеша. | Встроенная функция - это функция расширения C ++, позволяющая минимизировать время выполнения программы.. |
Оценка времени | |
В макросе аргумент оценивается каждый раз, когда он используется в программе. | Встроенный аргумент оценивается один раз. |
Проверено | |
Макрос проверяется препроцессором. | Встроенная функция проверяется компилятором. |
Ключевое слово | |
Марко использует #define. | Встроенная функция использует ключевое слово «встроенный». |
использование | |
Макрос может использоваться для определения констант, выражений, для подстановки буквенного текста, а также для определения функций и т. Д.. | Встроенная функция может использоваться, чтобы минимизировать время выполнения программы. |
прекращение | |
Макрос заканчивается новой строкой. | Встроенная функция заканчивается фигурной скобкой в конце встроенной функции. |
Определяющая точка | |
Марко определяется в начале программы. | Встроенная функция может быть внутри или снаружи класса. |
В этой статье обсуждалась разница между макросом и встроенной функцией. Эти понятия используются в программировании на C ++. Разница между макросом и встроенной функцией заключается в том, что препроцессор проверяет макрос, а встроенная функция проверяется компилятором..
1. «Директивы препроцессора». Cplusplus.com. Доступна здесь
2. «Встроенные функции C». Www.tutorialspoint.com, Tutorials Point, 19 марта 2018. Доступно здесь