Reglas para caracteres de escape de literales de cadena C ++

¿Cuáles son las reglas para el personaje de escape?\ en cadenas literales? ¿Hay una lista de todos los personajes que se escapan?

En particular, cuando uso\ en una cadena literal en gedit, y síguela por cualquiera de los tres números, los colorea de manera diferente.

Estaba tratando de crear unstd::string Construido a partir de un literal con el personaje.0 seguido por el carácter nulo (\0), seguido por el personaje0. Sin embargo, el resaltado de sintaxis me alertó de que tal vez esto crearía algo como el personaje0 seguido por el carácter nulo (\00alias\0), es decir, solo dos personajes.

Para la solución a este único problema, esta es la mejor manera de hacerlo:

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

¿Y hay alguna referencia para lo que hace el personaje de escape en los literales de cuerdas en general? ¿Qué es '\ a', por ejemplo?