我知道这是一个旧功能,但阅读用户定义的文字,例如
return_t operator "" _a(long); // Literal operator for user-defined INTEGRAL literal
我被提醒了
前导下划线是必需的。(只有标准库允许定义不带下划线的文字。)(A)
这似乎打破了模式,因为到目前为止,实现使用下划线名称并给我们留下了好的名称,例如为实现保留的名称是
- 包含双下划线
- 以下划线开头,后跟大写字母
此外,在存在规则 (2) 的情况下,引用 (A) 有点危险。那么为什么不一致呢?