我试过这样做,但我无法做到。如何声明具有合法和非法名称的多个变量(例如int double = 0;),以便您可以看到编译器的反应。
答案 0 :(得分:4)
对此的简短回答是不要做。
C和C ++标准中有许多保留字不应用于除最初目的之外的任何其他目的。为了你自己的不正当目的而不顾一切地回收这些问题会给很多人带来麻烦。当你必须修复一个bug时,其中一个人可能就是你自己的未来。
如果您想使用double
作为变量名,实现这一目标的最佳方法是成功请求构建下一个标准的C ++委员会以允许它。然后你将有一个有效的程序。
如果您想查看编译器遇到此问题时的行为,请创建尽可能小的小程序。例如:
// invalid_double.c
int double = 0;
尝试编译时会立即看到语法错误。根据需要重复其他关键字。这通常是configure
之类的运行测试来验证本地编译器的行为和功能的方式。
您的编译器可能会在第一次无效使用关键字时停止编译,因此您可能需要为每个实验构建一个文件。可能会忽略同一文件中的后续错误,例如,如果您有int class = 0