Regras para literais de string C ++ escapam de caractere
Quais são as regras para o caractere de escape\
em literais de string? Existe uma lista de todos os caracteres que são escapados?
Em particular, quando eu uso\
em uma string literal em gedit, e segui-lo por quaisquer três números, ele os colore diferentemente.
Eu estava tentando criar umstd::string
construído a partir de um literal com o personagem0
seguido pelo caractere nulo (\0
), seguido pelo personagem0
. No entanto, o destaque da sintaxe me alertou que talvez isso criaria algo como o personagem0
seguido pelo caractere nulo (\00
também conhecido como\0
), ou seja, apenas dois caracteres.
Para a solução desse problema, essa é a melhor maneira de fazer isso:
<code>std::string ("0\0" "0", 3) // String concatenation </code>
E há alguma referência para o que o caractere de escape faz em literais de string em geral? O que é '\ a', por exemplo?