【C++ 拾遗】Function-like Macros
Macro expansion is done by the C preprocessor at the beginning of compilation.
The C preprocessor is named cpp
and usually can be invoked from command line.
You can also define macros whose use looks like a function call. These are called function-like macros. To define a function-like macro, you use the same ‘#define’ directive, but you put a pair of parentheses immediately after the macro name.
SOURCE
Note that when defining a function-like macro, parentheses must come immediately after the macro name, that is there must not be any spaces in between, otherwise, the program won't compile. But when calling a function-like macro, the restriction is relaxed.
You can read more about function-like macros in C or C++ programs here.