Разлика между макро и вградена функция

Съдържание:

Разлика между макро и вградена функция
Разлика между макро и вградена функция

Видео: Разлика между макро и вградена функция

Видео: Разлика между макро и вградена функция
Видео: Настя и сборник весёлых историй 2024, Ноември
Anonim

Основна разлика - Макро срещу вградена функция

Макросът е фрагмент от код, който е директива за препроцесор. Вградената функция е функция за подобряване на C ++ за минимизиране на времето за изпълнение на програма. Следователно ключовата разлика между макро и вградена функция е, че макросът се проверява от препроцесора, докато вградената функция се проверява от компилатора.

В началото на програмата е включен макрос, предшестван от знак за хеш. Когато в програмата има име на макрос, то се заменя със съдържанието на макроса.

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво е макрос

3. Какво е вградена функция

4. Успоредно сравнение - макрос и вградена функция в таблична форма

5. Резюме

Какво е макро?

Препроцесорът е програма, която обработва изходния код, преди да премине през компилатора. Той работи с помощта на командния ред на препроцесора или директивите. В програмата директивите на препроцесора се поставят в програмата източник преди основната програма. Преди изходният код да премине през компилатора, той се проверява от препроцесора за директиви на препроцесора. Директивите на препроцесора имат символа #. За разлика от други твърдения, те не завършват с точка и запетая. Един тип директива на препроцесора е макрос. По принцип макросите се пишат с главни букви.

Разлика между макро и вградена функция
Разлика между макро и вградена функция

Фигура 01: Програма C ++ с макроси

Според горната програма ред 3 и ред 4 показват макроси. Когато се изчислява площта, стойността на PI се замества с помощта на дефинирания макрос. В ред 14, том = КУБ (стойност), препроцесорът разширява изявлението като обем = (стойност * стойност * стойност). Намирането на куба може да бъде записано като функция, но тук е написано с помощта на макрос. Ако има изявление като обем = КУБ (x + y), то той ще се разшири до обем = (x + y * x + y * x + y).

Някои програмни символи могат лесно да бъдат въведени погрешно. Те могат да бъдат заменени с помощта на макроси. напр. #define AND &&, #define OR ||. Дефиницията на макрос също може да включва изрази като #define AREA 4 * 5.56.

Какво е вградена функция?

Когато се извика функция, компилаторът отнема известно време, за да я изпълни. Ако функцията не е много сложна, програмистът може да преобразува функцията във вградена функция. Вижте програмата по-долу.

Разлика между макро и вградена функция Фигура 2
Разлика между макро и вградена функция Фигура 2

Фигура 02: Функция без вграден

Print_hello е проста функция. Той отпечатва низа “Hello”, когато функцията е извикана. Времето за изпълнение на тази функция е 0,187s. Когато използвате вградената ключова дума, както следва, времето за изпълнение се намалява до 0,064s.

Основна разлика между макро и вградена функция
Основна разлика между макро и вградена функция

Фигура 03: Вградена функция

Следователно, с помощта на вградената ключова дума времето за изпълнение намалява. Вградените функции може да не работят, ако има цикли, оператори за превключване и ако функцията съдържа статични променливи или рекурсивни функции.

Каква е разликата между макро и вградена функция?

Различна статия Средна преди таблица

Макро срещу вградена функция

Макросът е фрагмент от код, който е директива за препроцесор, която е включена в началото на програмата, предшествана от знак за хеш. Вградената функция е функция за подобряване на C ++ за минимизиране на времето за изпълнение на програма.
Време за оценка
В макрос аргументът се оценява всеки път, когато се използва в програмата. В редица аргументът се оценява веднъж.
Проверен от
Макросът се проверява от препроцесора. Вградената функция се проверява от компилатора.
Ключова дума
Марко използва #define. Функцията за вграждане използва ключовата дума „вградена“.
Употреба
Макросът може да се използва за дефиниране на константи, изрази, за буквално заместване на текст и за дефиниране на функции и т.н. Вградена функция може да се използва, за да се сведе до минимум времето за изпълнение на програмата.
Прекратяване на договора
Макрос завършва с новия ред. Вградената функция завършва с къдравата скоба в края на вградената функция.
Определяща точка
Марко е дефиниран в началото на програмата. Вградена функция може да бъде вътре или извън класа.

Резюме - Макро срещу вградена функция

Тази статия обсъжда разликата между макро и вградена функция. Тези концепции се използват в програмирането на C ++. Разликата между макро и вградена функция е, че макросът се проверява от препроцесора, докато вградената функция се проверява от компилатора.

Препоръчано: