2009-10-19 20 views
23

Stavo osservando le sequenze di escape per i caratteri nelle stringhe in C++ e ho notato che esiste una sequenza di escape per un punto interrogativo. Qualcuno può dirmi perché questo è? Sembra un po 'strano e non riesco a capire cosa? fa in una stringa. Grazie.Sequenza di fuga per? in C++

risposta

26

È mantenere un punto interrogativo non interpretato erroneamente come parte di trigraph.

Per esempio, in

"What??!" 

Il "?? verrebbe interpretato come il carattere | Quindi, si deve sfuggire i punti interrogativi come segue:!.

"What\?\?!" 

Esempio complementi di http://msdn.microsoft.com/en-us/library/bt0y4awe%28VS.80%29.aspx

+3

Per impostazione predefinita, gcc disabilita l'interpretazione dei trigrammi, a meno che siano esplicitamente abilitati con '-trigraphs' , '-ansi', o alcune delle opzioni' -std = xxx'. '-Wtrigraphs' (abilitato da' -Wall') abilita anche gli avvisi per le sequenze del trigramma. –

+2

Tutto su trigraphs: http://stackoverflow.com/questions/1234582/purpose-of-trigraph-sequences-in-c/1234618#1234618 –

+2

Impara qualcosa di nuovo ogni giorno ... – GRB

0

in sequenza di escape C++ sono tipi speciali di caratteri qui in questo video spiegare l'uso della sequenza di escape buone maniere possono essere non sarà in grado di comprendere la lingua, ma guardando il video si può capire link: https://www.youtube.com/watch?v=jMKYGbYnRYo&t=250s

+1

È ok rispondere ma non collegare youtube. essere disponibile tra qualche tempo – yacc