This question already has answers here:
Are digraphs and trigraphs in use today? [closed]
(5个答案)
5年前关闭。
请注意,标题中的
我刚刚遇到了由双问号组成的C ++(也称为“ C”)转义序列。这曾经做什么用,为什么还在那里?
我有ascii-85编码的文本,很少出现双问号,只是花了一个下午的时间从我的头上扯下头发,同时试图在编码器/解码器中查找错误,而这仅仅是编译器在骗我。
但是,您显示的
看来我已经明白了这是什么意思。它们是通配符
(5个答案)
5年前关闭。
请注意,标题中的
*
是占位符,在我的情况下,罪魁祸首是??[
。我刚刚遇到了由双问号组成的C ++(也称为“ C”)转义序列。这曾经做什么用,为什么还在那里?
我有ascii-85编码的文本,很少出现双问号,只是花了一个下午的时间从我的头上扯下头发,同时试图在编码器/解码器中查找错误,而这仅仅是编译器在骗我。
最佳答案
从C ++标准
2.4三字母序列[lex.trigraph]
1在进行任何其他处理之前,以下三个字符序列之一(“字母序列”)的每次出现都被表1中指示的单个字符代替。
表1 — Trigraph序列Trigraph替换Trigraph替换Trigraph替换
??= # ??( [ ??< {
??/ \ ??) ] ??> }
??’ ˆ ??! | ??- ~
但是,您显示的
??*
符号不是Trigraph符号。因此很难说出它的意思。看来我已经明白了这是什么意思。它们是通配符
?
和*
只是在字符串文字符号?
中加倍了。:)07-25 20:30