【发布时间】:2014-12-22 11:22:10
【问题描述】:
C++17 移除了三元组。 IBM 强烈反对这一点(here 和 here),因此似乎存在移除/不移除双方的论据。
但既然决定删除三合字母,为什么要留下二合字母?除了保留三合字母的原因(显然没有足够的权重来保留它们)之外,我没有看到任何保留二合字母的理由。
【问题讨论】:
-
圣诞节快到了,所以不允许留胡子的笑脸是可悲的。
-
请注意,三元组已被弃用,而不是删除。我认为这个想法是让可能正在使用它们的人停止在新代码中使用它们,并让使用旧代码的开发人员最终迁移。他们不会破坏代码——至于为什么:这只是做同样事情的另一种方式,它使语言变得更大更混乱。
-
@BenjaminGruenbaum 据我所知,它们将在 C++17 中完全消失
-
@BenjaminGruenbaum 他们被提议在 C++11 中弃用,但没有通过。在 C++17 中,他们被投票删除
-
我不知道讨论如何进行(因此不是答案),但可能是因为保留二合字母的负担较低。由于它们不会在 cmets 或字符串文字中被替换,因此您不会意外使用它们。
标签: c++ standards digraphs trigraphs c++17