C++ 三字母词¶
C++那些事之删除三字母¶
C++17 之前,Trigraph 是用 ISO/IEC 646 等小字符代码编写程序的功能,在 C89 中引入。 ISO/IEC 646 缺少 C 中使用的以下字符,因此??请使用以下字符进行转义:
| 三字母内容 | 替换的内容 |
|---|---|
??= |
# |
??( |
[ |
??) |
] |
??< |
{ |
??> |
} |
??/ |
\ |
??! |
| |
??- |
~ |
??' |
^ |
\?它被转义以防止被三字母表替换。
C++17三字母被删除,??=等不再被替换。
示例¶
C++17之前:
输出:
C++17及之后:
现在可能由于Unicode等字符编码已经普遍存在,不再需要三字母组,而gcc等编译器默认禁用三字母组。