5 Lexical conventions [lex]

5.12 Operators and punctuators [lex.operators]

The lexical representation of C++ programs includes a number of preprocessing tokens which are used in the syntax of the preprocessor or are converted into tokens for operators and punctuators:
preprocessing-op-or-punc: one of
	{        }        [        ]        #        ##       (        )
	<:       :>       <%       %>       %:       %:%:     ;        :        ...
	new      delete   ?        ::       .        .*       ->       ->*      ~
	!        +        -        *        /        %        ^        &        |
	=        +=       -=       *=       /=       %=       ^=       &=       |=
	==       !=       <        >        <=       >=       <=>      &&       ||
	<<       >>       <<=      >>=      ++       --       ,
	and      or       xor      not      bitand   bitor    compl
	and_eq   or_eq    xor_eq   not_eq
Each preprocessing-op-or-punc is converted to a single token in translation phase 7.