最近,我被分配到一个工作中的项目(C ++),该项目在XML风格的文档中有大量的字符串匹配/解析(类似于XML,但不完全;这很奇怪)。因此,为了提高可读性并减少复制/粘贴错误,我在几个源文件的顶部放置了几个宏。作为参考,每个文件中的宏都不同。例如:
#define CATAGEORY_PATH "properties/event/classifications/classification/@category"
#define CLASSIFICATION_PATH "properties/event/classifications/classification/@classification"
是我认为不好的形式吗?或者是否有更好的方法来做到这一点?目前,我喜欢这种方法,因为在整个代码中很清楚我做了什么,但是有关#define的字符串问题令我感到困扰。
从人群中经验丰富的编码人员那里,您有什么想法?另外,从专业开发商那里,您如何看待?抱歉,如果有人歧视您,就会感到遗憾,但是以我的经验,这两个人群之间可能会有重大差异。
谢谢!
最佳答案
常量的替代方法是static const
。
static const char category_path[] = "properties/event/classifications/classification/@category" ;
这样,至少有一点点类型信息装饰着它。
关于c++ - 常量的预处理器宏-格式错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20408240/