【发布时间】:2017-01-29 00:02:01
【问题描述】:
我知道这是一个旧功能,但在 user defined literals 上阅读例如
return_t operator "" _a(long); // Literal operator for user-defined INTEGRAL literal
我被提醒了
需要前导下划线。 (只有标准库允许定义不带下划线的文字。)(A)
这似乎打破了模式,因为到目前为止,该实现使用下划线名称并为我们留下了好的名称,例如为实现保留的名称是
- 包含双下划线
- 以下划线开头,后跟大写字母
此外,引用 (A) 在存在规则 (2) 时有些危险。 那么为什么会出现不一致?
【问题讨论】:
-
这样我们就可以在标准库中获得“自然”的后缀,并让用户定义的后缀清晰可见。