我知道这是一个旧功能,但是请阅读用户定义的文字,例如
return_t operator "" _a(long); // Literal operator for user-defined INTEGRAL literal
我想起了
前导下划线是必需的。(仅允许标准库定义带下划线的文字。)(A)
这似乎是一种破坏模式,因为到目前为止,该实现使用的是下划线名称,但给我们留下了很好的名称,例如,保留给实现的是
此外,在存在规则(2)的情况下,引号(A)有点危险。那么为什么不一致呢?
用户自定义文字的想法加入到语言之前,所有的标准文字使用不带下划线开始序列,如123L
一个long int
文字。因此,为了保持一致性,标准文字会获得不带任何特殊前缀的名称空间,并且UDL通过使用来区别于它们_
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句