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 (\00també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?

questionAnswers(5)

yourAnswerToTheQuestion