Header name preprocessing tokens only appear within
a #include preprocessing directive,
a __has_include preprocessing expression, or
after certain occurrences of an import token
(see [lex.pptoken]).
— end note
]
The sequences in both forms of header-names are mapped in an
implementation-defined manner to headers or to
external source file names as specified in [cpp.include].
The appearance of either of the characters ' or \ or of
either of the character sequences /* or // in a
q-char-sequence or an h-char-sequence
is conditionally-supported with implementation-defined semantics, as is the appearance of the character
" in an h-char-sequence.14
Thus, a sequence of characters
that resembles an escape sequence might result in an error, be interpreted as the
character corresponding to the escape sequence, or have a completely different meaning,
depending on the implementation.