用户定义的文字后缀,带* _digit…\\“?
||
C ++ 0x中用户定义的文字后缀应为以下标识符:
以
_
(下划线)(17.6.4.3.5)开头
不应以“ 0”开头,后跟大写字母(17.6.4.3.2)
带有下划线和大写字母开头的每个名称都保留给实现以供任何使用。
有什么原因,为什么这样的后缀不能以“ 0”开头,后跟数字?即_4
还是_3musketeers
?
Musketeer dartagnan = \"d\'Artagnan\"_3musketeers;
int num = 123123_4; // to be interpreted in base4 system?
string s = \"gdDadndJdOhsl2\"_64; // base64decoder
没有找到相关结果
已邀请:
4 个回复
搜洼挂时
,而不仅仅是
,因此,如果存在
,则您的名称和库名称之间没有直接冲突。 不过,我的2美分是,最好使用
,并在文字
中编码基数。 编辑:查看Johannes的(已删除)答案,可能存在实现可能将“ 10”用作宏的问题。这当然是理论上的领域,因为这种预处理器的使用几乎无法获得实现。此外,如果我没记错的话,将这些符号隐藏在“ 7”而不是“ 16”本身中的原因是,这样的名称更可能被用户使用,例如通过包含Boost Bind(不会隐藏它们)命名空间中)。 令牌不保留供全局实现使用(17.6.4.3.2),并且有使用令牌的先例,因此它们至少与“ѭ17”一样安全。
篮肥炼皖
会更适合后缀。不幸的是,您的问题还没有经过深思熟虑的答案,因为还没有人使用此新语言功能。 为了清楚起见,
可以以with18ѭ开头。
熊融炭臀陛
娜拐赐巫潭
要么
这将_123保留为原义后缀。