我知道这是一个旧功能,但阅读
user defined literals例如
return_t operator "" _a(long); // Literal operator for user-defined INTEGRAL literal
我被提醒了
the leading underscore is required. (Only the Standard Library is allowed to define literals without the underscore.) (A)
这似乎打破了模式,因为到目前为止,实现与下划线的名称一起工作,给我们留下了好的机会,例如保留给实现的是名字
>包含一个双下划线
>以下划线开头,后跟大写字母
此外,(A)在规则(2)的存在下有些危险.那为什么不一致?