This question already has answers here:
Are digraphs and trigraphs in use today? [closed]
                                
                                    (5个答案)
                                
                        
                                5年前关闭。
            
                    
请注意,标题中的*是占位符,在我的情况下,罪魁祸首是??[

我刚刚遇到了由双问号组成的C ++(也称为“ C”)转义序列。这曾经做什么用,为什么还在那里?

我有ascii-85编码的文本,很少出现双问号,只是花了一个下午的时间从我的头上扯下头发,同时试图在编码器/解码器中查找错误,而这仅仅是编译器在骗我。

最佳答案

从C ++标准

2.4三字母序列[lex.trigraph]

1在进行任何其他处理之前,以下三个字符序列之一(“字母序列”)的每次出现都被表1中指示的单个字符代替。
表1 — Trigraph序列Trigraph替换Trigraph替换Trigraph替换

??= # ??( [ ??< {
??/ \ ??) ] ??> }
??’ ˆ ??! | ??- ~


但是,您显示的??*符号不是Trigraph符号。因此很难说出它的意思。

看来我已经明白了这是什么意思。它们是通配符?*只是在字符串文字符号?中加倍了。:)

07-25 20:30