SKETCH OF HOW RESEARCH MIGHT CONTINUE AND RESULTS BE PRESENTED - PREVIEW ONLY

Macros

The C++ language provides a limited facility for text substitution during preprocessing. Very nearly any token that is acceptable as an identifier may be defined as a macro. The definition associates the identifier, which is the macro’s name, with formal arguments and with a macro body which may refer to those arguments. The arguments are optional. The body may be empty. The general idea is that each occurrence of the identifier is treated as if the corresponding macro body had been there instead. If the identifier is followed by an argument list, then each argument passes into the macro body as an actual argument taking the place of each occurrence of the corresponding formal argument. Because the macro body is most usefully (but certainly not necessarily) larger than the macro itself, this substitution is often called macro expansion.