¿Cuáles son las reglas para el carácter de escape \
en literales de cadena? ¿Hay una lista de todos los personajes que se escapó?Reglas para literales de cadenas C++ carácter de escape
En particular, cuando uso \
en una cadena literal en gedit, y lo sigo por tres números, los colorea de forma diferente.
yo estaba tratando de crear un std::string
construido a partir de un literal con el carácter 0
seguido por el carácter nulo (\0
), seguido por el carácter 0
. Sin embargo, el resaltado de sintaxis me alertó de que tal vez crearía algo así como el personaje 0
seguido del carácter nulo (\00
, también conocido como \0
), lo que significa que solo tiene dos caracteres.
Para que la solución sólo este problema, es ésta la mejor manera de hacerlo:
std::string ("0\0" "0", 3) // String concatenation
¿Y hay alguna referencia a lo que el carácter de escape hace en los literales de cadena en general? ¿Qué es '\ a', por ejemplo?
Relacionado, sobre cómo [escapar de una secuencia de escape] (http://stackoverflow.com/questions/8229521/how-to-escape-or-terminate-an-escape-sequence-in-c). La mejor solución es usar la concatenación como lo hizo. – MPelletier
Si necesita un solo '\' solo use '\\'. – MPelletier
Parece que también puedo usar la sintaxis de la lista de inicializadores: 'std :: string {'0', 0, '0'};' –