加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:34:39 所属栏目:百科 来源:网络整理
导读:我知道这是一个旧功能,但阅读 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 lite
我知道这是一个旧功能,但阅读 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)的存在下有些危险.那为什么不一致?

解决方法

在将用户定义的文字的想法添加到语言之前,所有标准文字都使用不以下划线开头的序列,例如长整型文字的123L.所以为了保持一致性,标准字面得到的命名空间没有任何特殊的前缀,UDL通过使用_与它们区分开来.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读