[英]what is the use of defining macros same as the identifier
在查看 poco 庫時,我看到了一些具有相同標識符和替換文本的宏:
例如在文件 XML/inlucde/XML/expat.h 中
47 XML_STATUS_ERROR = 0,
48 #define XML_STATUS_ERROR XML_STATUS_ERROR
49 XML_STATUS_OK = 1,
50 #define XML_STATUS_OK XML_STATUS_OK
51 XML_STATUS_SUSPENDED = 2
52 #define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED
我想知道這樣定義宏有什么用。
我可以在這里想到兩個用例:
#define
d,則使一切正常。 您不想使用它定義的值,對嗎? 所以在這里,您要確保使用該標識符的代碼是有效的。#ifdef
ing 標識符(即檢查它們是否已經定義)。這看起來確實很荒謬,不是嗎? 我唯一的想法是它允許您在符號上使用#ifdef
,但我看不到它在這個特定示例中有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.