Вбудований і макрос: різниця та порівняння

Inline і macro — це функції, які використовуються в програмуванні на C++ і C. Переважно вбудована функція використовується більше, ніж макрос.

Ключові винесення

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

Вбудований або макрос

Inline — це звичайна функція, яка визначається ключовим словом inline і може легко отримати доступ до членів класу для покращення функції. Макрос визначається ключовим словом #define, і хоча він належить до мов C і C++, він переважно використовується в першій. Він схильний до помилок, але гнучкий.

Вбудований або макрос

Inline — це звичайна функція. Функція визначається ключовим словом inline. Він може легко отримати доступ до членів класу. Це покращує функцію.

Макрос визначається ключовим словом #define. Майже не використовується в C + +, і він більше використовується в мові C. Вони більш гнучкі, але схильні до помилок.

Таблиця порівняння

Параметри порівнянняВ лініюMacro
ВизначенняInline — це звичайна функція, яка використовується в мові C++ і визначається ключовим словом «Inline».Macro — це функція, яка використовується переважно в мові C і визначається ключовим словом «#define».
Доступ членів класуМоже легко отримати доступ до членів класу.Неможливо отримати доступ до членів класу.
НалагодженийПрограму можна легко налагодити.Програму не можна легко налагодити.
Де визначити?У класі чи поза ним.На початку програми.
ПрипиненняВін закінчується символом, фігурною дужкою в кінці.Він завершується новим рядком, а не символом.

Що таке Inline?

Inline — це звичайна функція, яка використовується в C++ комп'ютерне програмування мова. Він визначається ключовим словом inline.

Також читайте:  Meta проти Tencent: різниця та порівняння

Функція може бути визначена всередині або поза класом. І може закінчуватися символом фігурної дужки.

Коли функція викликається, вона зберігає накладні витрати на змінні push/pop на стек а також зберігає накладні витрати на зворотний виклик від функції.

Аргументи, у випадку вбудованої функції, обчислюються лише один раз, і необхідні перетворення представлені правильно. Ця функція не має широкого поширення, в основному вона використовується в мові C++, але не потрібна в конкурентному програмуванні.

Що таке Micro?

Макрос розширюється препроцесором у програмі, тому його також називають директивою препроцесора. Ця функція визначається ключовим словом “#define”.

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

І його не можна легко налагодити. Дійсно, це може викликати деякі побічні ефекти через розширення, оскільки вхідні вирази копіюються скрізь, де вони з’являються в шаблоні.

Основні відмінності між Inline і Macro

  1. Inline майже ніколи не використовується в змагальному програмуванні, тоді як, з іншого боку, Macro широко використовується в змагальному програмуванні.
  2. Аргументи у випадку inline обчислюються лише один раз, тоді як у випадку макросу аргументи оцінюються щоразу, коли функція макросу використовується в програмі.
посилання
  1. https://link.springer.com/chapter/10.1007/978-3-322-87867-0_8
  2. https://www.spiedigitallibrary.org/conference-proceedings-of-spie/10091/100910H/Inline-measurement-for-quality-control-from-macro-to-micro-laser/10.1117/12.2255824.short

Останнє оновлення: 19 серпня 2023 р

крапка 1

24 думки про «Inline проти Macro: різниця та порівняння»

Залишити коментар

Хочете зберегти цю статтю на потім? Клацніть сердечко в нижньому правому куті, щоб зберегти у власній коробці статей!