Quali sono le regole per il carattere di escape \
in string letterali? C'è una lista di tutti i personaggi che sono sfuggiti?Regole per caratteri letterali stringa C++ escape
In particolare, quando uso \
in una stringa letterale in gedit e lo seguo con tre numeri qualsiasi, li colora in modo diverso.
cercavo di creare una std::string
costruito da un letterale con il carattere 0
seguito dal carattere nullo (\0
), seguito dal carattere 0
. Tuttavia, l'evidenziazione della sintassi mi ha avvisato che forse questo avrebbe creato qualcosa come il carattere 0
seguito dal carattere null (\00
, alias \0
), vale a dire solo due caratteri.
Per la soluzione al solo questo problema, è questo il modo migliore per farlo:
std::string ("0\0" "0", 3) // String concatenation
E c'è qualche riferimento per quanto il carattere di escape fa in stringhe letterali in generale? Cosa è '\ a', per esempio?
Correlati, su come [eseguire il escape di una sequenza di escape] (http://stackoverflow.com/questions/8229521/how-to-escape-or-terminate-an-escape-sequence-in-c). La soluzione migliore è utilizzare la concatenazione come hai fatto tu. – MPelletier
Se hai bisogno di un singolo '' basta usare '\\'. – MPelletier
Sembra che possa anche usare la sintassi dell'elenco di inizializzazione: 'std :: string {'0', 0, '0'};' –