我可以使用以下内容吗C++?:
#define $ cout
int main(){
$<<"Hello World!\n";
return 0;
}
我想知道这是否会引起任何冲突。
这并不绝对合法,但您的实现可以接受它。
考虑:
[C++11: 2.5/1]:
每个转换为标记 (2.7) 的预处理标记应具有关键字、标识符、文字、运算符或标点符号的词汇形式。
在这里,你的$
显然不是关键字、运算符或标点符号(因为这些在标准中已枚举),而且它看起来不像文字,因此它只能是标识符;现在,标识符must仅包含字母数字和下划线,并且数字不能在前导(基于下面表示的语法)[C++11: 2.11]
).
然而,该标准也允许实现接受other字符,所以你想做的可能会起作用,但它不会是可移植的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)