В исходном коде Doom 3 вместо inline используются макросы ID_INLINE, которые объявляются как #define ID_INLINE inline
. Какая причина заключается в использовании этого макроса вместо простого встроенного?
По той же причине многие другие программные пакеты используют "встроенный макрос". Он служит двум целям:
#undef ID_INLINE
а затем #define ID_INLINE
- или измените общий макрос чтобы повлиять на весь проект.inline
, или вам может понадобиться использовать специальную магию, чтобы убедить компилятор в встроенных функциях. Поэтому использование "встроенного макроса" позволяет изменить его для всего проекта (по крайней мере, если программисты следуют стандарту кодирования).С современными компиляторами, безусловно, главное.
Единственная причина для этого - иметь способ переопределить этот макрос следующим образом, возможно, для целей отладки:
#define ID_INLINE