常量的预处理器宏-格式错误
Preprocessor Macros for Constants - Bad Form?
最近,我被分配到一个正在工作的项目(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" ;
通过这种方式,至少有一点类型信息用它来修饰。
相关文章:
- 如何将strftime中的格式错误作为异常捕获
- CuDNN 减少格式错误
- 漂亮的计数器习语的错误或格式错误的静态订单惨败?
- GCC 编译器是否应该对涉及 [[fallthrough]] 属性的格式错误的C++代码进行诊断?
- 在.NET Core 3.1中运行托管C++/CLI程序集时,映像格式错误
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- 如何避免浮点格式错误
- 'fopen'返回格式错误的'fp'
- bash:./main:无法执行二进制文件:Exec格式错误
- 包含格式错误的模板成员函数的格式正确的程序?
- CPPRestSDK(casablanca)从传入的WebSocket消息中提取JSON(格式错误的令牌)
- 未定义的行为和格式错误之间的区别,不需要诊断消息
- C++计算中的格式错误
- C++输出格式错误
- 未知像素格式错误SDL2
- 常量的预处理器宏-格式错误
- BeautifulSoup的C / CPP版本,特别是在处理格式错误的HTML方面
- 格式错误的隐式转换示例
- bash:即使二进制和Linux是64位的,也无法执行二进制文件:Exec格式错误
- 升级后出现libcurl格式错误的url错误(CURLE_url_MALFORMAT)