Regeln für C ++ - Zeichenfolgenliterale entziehen sich dem Zeichen
Wie lauten die Regeln für das Escape-Zeichen?\
in String-Literalen? Gibt es eine Liste aller Zeichen, die maskiert werden?
Insbesondere wenn ich benutze\
In einem String-Literal in gedit und gefolgt von drei beliebigen Zahlen werden sie unterschiedlich gefärbt.
Ich habe versucht, einestd::string
konstruiert aus einem Literal mit dem Charakter0
gefolgt vom Nullzeichen (\0
), gefolgt von der Figur0
. Die Hervorhebung der Syntax machte mich jedoch darauf aufmerksam, dass dadurch möglicherweise so etwas wie das Zeichen entstehen würde0
gefolgt vom Nullzeichen (\00
aka\0
), also nur zwei Zeichen.
Ist dies der beste Weg, um nur dieses eine Problem zu lösen:
<code>std::string ("0\0" "0", 3) // String concatenation </code>
Und gibt es einen Hinweis darauf, was das Escape-Zeichen in String-Literalen im Allgemeinen tut? Was ist zum Beispiel '\ a'?