【发布时间】:2011-09-16 23:42:08
【问题描述】:
鉴于曾经有理由在 C 和 C++ 中使用 digraphs and trigraphs,现在有没有人将它们放入正在编写的代码中?是否还有大量包含它们的遗留代码仍在维护中?
(注意:这里,“有向图”不是表示“有向图”。digraph 和 trigraph 都有多种含义,但这里的预期用途是像 ??= 或<: 代表# 和[ 等字符)
【问题讨论】:
-
我从来没有见过一个(故意的!),但我在游戏中工作,而遗留代码往往要少得多。
-
享受 Google 代码搜索的乐趣!例如:google.com/codesearch#search/… 将查找
??(的实例 -
别忘了引号! @Ray - 谢谢。我现在要花一个小时查找脏话,并嘲笑随之而来的糟糕代码。
-
@Ray - 谢谢,很有趣!显然,绝大多数出现在字符串文字和 cmets 中,其中
??(x)是函数调用的伪代码。搜索范围缩小为 looking for??<,而{在任何 C 源代码中都是必不可少的。 — 在所有 14 页的结果中,没有一个真正的三元图示例。它们大多是 HTML 伪代码,其中包含一些编译器/编译器测试和 base64 编码文本。(我很感兴趣,因为我正在为 C++11 实践编写预处理器。) -
@Matthieu:但是如果您使用这样的选项,您的代码就会依赖它,并且在没有该选项的情况下编译时要么无法编译,要么具有不同的含义。我宁愿有一个警告,这样我就可以完全避免使用三元组。