For example, never define a macro like this:
#define DANGER 60 + 2
This can potentially be dangerous when we do an operation like this:
int wrong_value = DANGER * 2; // Expecting 124
Instead, define like this because you don't know how the user of the macro may use it:
#define HARMLESS (60 + 2)
The example is trivial, but that pretty much explains my question. Are there any set of guidelines or best practices that you would recommend when writing a macro?
Thanks for your time!