我生成C ++代码并在生成的模型具有与C ++关键字冲突的属性时遇到问题。我更喜欢这种模式与语言无关。
我已经尝试了一些#define int ReSeRvEd_int
- 生成代码的本地黑客但是分配其他符号感觉不对 - 问题并没有真正消失,并且生成的代码和模型之间的任何一种情况交叉引用变为更难。
有关如何隐藏/隐藏关键字的任何建议吗?
答案 0 :(得分:7)
我可以想到几种方法:
steve
和int
的变量,而是生成prop_steve
和prop_int
。我不做的两件事:
int
的属性使解析器正常,因为您似乎正在尝试执行上述操作。除了违反最小惊讶原则外,这是不合法的。innt
进行硬编码重映射。丑陋,不一致,(假设生成的代码与用户编写的代码接口)强制用户记住重映射。