Regeln für C ++ - Zeichenfolgenliterale Escapezeichen

Was sind die Regeln für das escape-Zeichen \ in string-literalen? Gibt es eine Liste mit allen Zeichen, die sind entkommen?

Insbesondere, wenn ich \ in einem string-literal in gedit, und Folgen Sie es mit allen drei zahlen, Farben anders.

War ich versucht, zu erstellen eine std::string konstruiert aus einem literal das Zeichen 0 gefolgt von den null-Zeichen (\0), gefolgt von den Zeichen 0. Allerdings, die syntax-highlighting machte mich, dass das vielleicht auch schaffen, so etwas wie den Charakter 0 gefolgt von den null-Zeichen (\00aka \0), das heißt, nur zwei Zeichen.

Für die Lösung zu diesem problem, ist das der beste Weg, es zu tun:

std::string ("0\0" "0", 3)  //String concatenation 

Und gibt es eine Referenz für das, was das escape-Zeichen in string-literalen im Allgemeinen? Was ist "\a", zum Beispiel?

Kommentar zu dem Problem
Verwandte, how to Flucht eine escape-Sequenz. Die beste Lösung ist die Verwendung von Verkettung als Sie hatte. Kommentarautor: MPelletier
Wenn Sie ein einzelnes ` benutzen Sie einfach \`. Kommentarautor: MPelletier
Es sieht aus wie ich kann auch mit der Initialisierungsliste syntax: std::string { '0', 0, '0' }; Kommentarautor: David Stone
Nicht nur kann ich die Initialisierungsliste syntax, die ich jetzt empfehlen, es über eine andere Methode der Konstruktion einer Zeichenfolge, die erfordert, dass Sie eine Größe angeben oder verwendet Escape-Zeichen enthält. Betrachten Sie die subtile nicht definiertes Verhalten beschrieben in stackoverflow.com/questions/164168/... Kommentarautor: David Stone
Heute erkenne ich, dass mein Kommentar bei 1:32 ist vollständig verschleiert... ich habe keine Ahnung, was ich meinte... Kommentarautor: MPelletier

InformationsquelleAutor der Frage David Stone | 2012-04-19

Schreibe einen Kommentar