[英]Do #ifdef, #ifndef and #undef work with function-like macros?
宏有兩種類型:類函數宏和類對象宏 。 我可以對類似對象的宏執行各種檢查/操作:
#ifdef _SOME_OBJECT_LIKE_MACRO // check if some object-like macro is defined
#undef _SOME_OBJECT_LIKE_MACRO // undefine some object-like macro
#endif
#define _SOME_OBJECT_LIKE_MACRO 0xff
#ifdef
, #ifndef
和#undef
可以使用類似於函數的宏? 例如:
#ifdef _SOME_FUNCTION_LIKE_MACRO() // check if some function-like macro is defined
#undef _SOME_FUNCTION_LIKE_MACRO() // undefine some function-like macro
#endif
#define _SOME_FUNCTION_LIKE_MACRO() printf("This is such a useful macro!!!\n");
那樣有用嗎? 如果沒有,我怎么...
...類似函數的宏?
#ifdef
, #ifndef
和#undef
與類似函數的宏一起使用,但是您只需要使用裸宏名。 不需要括號:
#ifdef _SOME_FUNCTION_LIKE_MACRO
#undef _SOME_FUNCTION_LIKE_MACRO
#endif
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.