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.