C++ Language/Preprocessing/Tokenization
When your C++ source file is being compiled, one of the first things that happens is your compiler uses its preprocessor to "tokenize" your program.
Tokenization would process code like iA+++iB by splitting it into four tokens (variable identifier iA, then operator ++, then operator +, then variable identifier iB).
A preprocessor macro is able to use ## within its definition, to construct a compilation-token while the macro expands.
Additional information about tokenization (includes interactive examples)