If I define a function macro with no actual body, is it like an empty string with the compiler (i.e. It doesn’t generate any extra instructions at compile time)?
Example:
#define SomeMacro(a)
SomeMacro("hello"); // This line doesn't add any instructions, does it?
You’re absolutely correct, the empty macro doesn’t generate any code.
I’ve seen two places where this is useful. The first is to eliminate warnings when a function parameter isn’t used:
The second is when you use conditionals to determine if there should be code or not.