请注意,标题中的*
是占位符,在我的情况下,罪魁祸首是??[
。
我刚刚遇到了C ++(也是#34; C")转义序列,由双问号组成。这曾经用过什么,为什么还在那里?
我有ascii-85编码的文字,其中很少出现双问号,只是花了一个下午从头上撕下头发试图找到编码器/解码器中的错误,而这只是编译器上的技巧我
答案 0 :(得分:1)
来自C ++标准
2.4 Trigraph sequence [lex.trigraph]
1在进行任何其他处理之前,每次出现以下三个字符序列之一(“三字符序列”)将被表1中指示的单个字符替换。 表1 - Trigraph序列Trigraph替换Trigraph替换Trigraph替换
??= # ??( [ ??< {
??/ \ ??) ] ??> }
??’ ˆ ??! | ??- ~
但是,您显示的符号??*
不是三字符号。所以很难说它意味着什么。
我似乎明白这意味着什么。它们是狂野的字符?
和*
只需在字符串文字符号?
内加倍。:)