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