2009-10-19 13 views
23

Ich schaute auf die Escape-Sequenzen für Zeichen in Zeichenfolgen in C++ und ich bemerkte, dass es eine Escape-Sequenz für ein Fragezeichen gibt. Kann mir jemand sagen, warum das so ist? Es scheint nur ein bisschen seltsam und ich kann nicht herausfinden, was? tut in einer Zeichenfolge. Vielen Dank.Escape-Sequenz für? in C++

Antwort

26

Es ist zu verhindern, dass ein Fragezeichen fälschlicherweise als Teil einer trigraph interpretiert wird.

Zum Beispiel in

"What??!" 

Die „?? würde als | Zeichen interpretiert werden, so haben Sie die Fragezeichen zu entkommen wie folgt:.

"What\?\?!" 

Beispiel ergänzt von http://msdn.microsoft.com/en-us/library/bt0y4awe%28VS.80%29.aspx

+3

standardmäßig gcc deaktiviert die Interpretation von trigraphs, sofern sie nicht ausdrücklich freigegeben sind mit '-trigraphs' , '-ansi' oder einige der '-std = xxx'-Optionen. '-Wtrigraphen' (aktiviert durch' -Wall') ermöglicht auch Warnungen für Trigraph-Sequenzen. –

+2

Alles über Trigraphen: http://Stackoverflow.com/questions/1234582/purpose-of-trigraph-sequences-in-c/1234618#1234618 –

+2

Sie lernen jeden Tag etwas Neues ... – GRB

0

in C++ Escape-Sequenz sind besondere Art von Zeichen hier in diesem Video erklären die Verwendung gute Manieren der Escape-Sequenz kann man die Sprache nicht in der Lage zu verstehen, sondern durch Anschauen von Videos können Sie Link verstehen: https://www.youtube.com/watch?v=jMKYGbYnRYo&t=250s

+1

Es ist in Ordnung zu beantworten, aber nicht youtube verlinkt werden. Dies könnte nicht in einiger Zeit verfügbar sein. – yacc