Например, никогда не определяйте макрос следующим образом:
#define DANGER 60 + 2
Это может быть опасно, если мы выполняем такую операцию:
int wrong_value = DANGER * 2; // Expecting 124
Вместо этого определите это, потому что вы не знаете, как пользователь макроса может его использовать:
#define HARMLESS (60 + 2)
Пример тривиален, но это в значительной степени объясняет мой вопрос. Есть ли какой-либо набор рекомендаций или рекомендаций, которые вы бы рекомендовали при написании макроса?
Спасибо за ваше время!