Patrzyłem na sekwencje escape dla znaków w ciągach w C++ i zauważyłem, że istnieje sekwencja escape dla znaku zapytania. Czy ktoś może mi powiedzieć, dlaczego tak jest? To po prostu wydaje się trochę dziwne i nie wiem co? robi w ciągu. Dzięki.Sekwencja Escape dla? w C++
Odpowiedz
Ma to na celu niedopuszczenie do błędnego zinterpretowania znaku zapytania jako części trigraph.
Na przykład w
"What??!"
„?? byłyby interpretowane jako znak |
Tak, trzeba uciec znaki zapytania w następujący sposób:.
"What\?\?!"
Przykład uzupełnia z http://msdn.microsoft.com/en-us/library/bt0y4awe%28VS.80%29.aspx
w sekwencji ucieczki C++ są specjalnymi rodzajami znaków tutaj w tym filmie wyjaśnij użycie sekwencji ucieczki dobre maniery mogą być nie będzie w stanie zrozumieć język, ale oglądając film można zrozumieć link: https://www.youtube.com/watch?v=jMKYGbYnRYo&t=250s
Odpowiedź jest OK, ale nie łącz się z youtube. być dostępne za jakiś czas. – yacc
domyślnie gcc wyłącza interpretacja trójznaków, chyba że są one wyraźnie włączone z '-trigraphs' , '-ansi' lub niektóre z opcji' -std = xxx'. '-Wrigraphs' (włączony przez' -Wall') również włącza ostrzeżenia dla sekwencji trigraf. –
Wszystko o trigrafach: http://stackoverflow.com/questions/1234582/ Purpose-of-trigraph-sequences-in-c/1234618#1234618 –
Każdego dnia uczysz się czegoś nowego ... – GRB