为什么非下划线名称保留用于UDL的实现,而不是相反?

劳拉·阿特金斯(Lorah Attkins)

我知道这是一个旧功能,但是请阅读用户定义的文字,例如

return_t operator "" _a(long); // Literal operator for user-defined INTEGRAL literal

我想起了

前导下划线是必需的。(仅允许标准库定义带下划线的文字。)(A)

这似乎是一种破坏模式,因为到目前为止,该实现使用的是下划线名称,但给我们留下了很好的名称,例如,保留给实现的是

  1. 包含双下划线
  2. 以下划线开头,然后是大写字母

此外,在存在规则(2)的情况下,引号(A)有点危险。那么为什么不一致呢?

巴尔玛

用户自定义文字的想法加入到语言之前,所有的标准文字使用不带下划线开始序列,如123L一个long int文字。因此,为了保持一致性,标准文字会获得不带任何特殊前缀的名称空间,并且UDL通过使用来区别于它们_

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么变量名称作为下划线字符(“ _”)不能用于解构

Kotlin中的下划线保留什么?

为什么BEM经常使用两个下划线而不是一个下划线?

为什么在ObservableList下划线?

为什么Java方法名称不应包含下划线?

在C语言中,为什么某些函数名称前缀为“ _ _”(双下划线)

为什么单个下划线字符是lambda参数的非法名称?

为什么某些函数在函数名称前后都有下划线“ __”?

为什么某些函数在函数名称前后都有下划线“ __”?

为什么HTTP服务器禁止在HTTP标头名称中使用下划线

为什么函数参数名称中不允许使用下划线?

他们为什么在实例名称中使用下划线?

为什么在Elixir中对参数使用下划线,而不是根本不使用参数?

为什么下划线比连字符的下划线更好?

下划线的正式名称是什么?

应该使用什么值而不是“下划线”?

下划线表示什么?

为什么“IsPost”和“AsPost”下划线为红色?

为什么我的javascript getter / setter要求下划线?

为什么下划线不能与'\ W'匹配?

为什么Java-regex匹配下划线?

为什么不能添加黑线下划线字符?

为什么我需要快速下划线?

为什么类型名_Recordset下划线?

为什么在输出中忽略_(下划线)?

为什么存在下划线前缀变量?

为什么此JavaScript Regex与下划线匹配?

为什么下划线不起作用?

为什么下划线放在\ w下?