Каковы правила для escape-символа \ в строковых литералах? Есть ли список всех символов, которые были экранированы?
В частности, когда я использую \ в строковом литерале в gedit и следую ему любыми тремя числами, он окрашивает их по-разному.
Я пытался создать std::string, построенный из литерала с символом 0, за которым следует нулевой символ (\0), за которым следует символ 0. Однако подсветка синтаксиса предупреждала меня, что, возможно, это создаст нечто вроде символа 0, за которым следует нулевой символ (\00, aka \0), то есть только два символа.
Для решения только этой проблемы это лучший способ сделать это:
std::string ("0\0" "0", 3) // String concatenation
И есть ли какая-то ссылка на то, что делает escape-символ в строковых литералах вообще? Что такое '\ a', например?