Когда полезны макросы C ++? [закрыто]

C Сообщество C ++ вполне обоснованно опасается препроцессора. Встроенные функции, константы и шаблоны обычно являются более безопасной и превосходной альтернативой#define.

Следующий макрос:

#define SUCCEEDED(hr) ((HRESULT)(hr) >= 0)  

ни в коем случае не превосходит тип сейфа:

inline bool succeeded(int hr) { return hr >= 0; }

Но у макросов есть свое место, пожалуйста, перечислите их использование для макросов, которые выне может обойтись без препроцессора.

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

Ответы на вопрос(30)

Ваш ответ на вопрос