如何在宏中获取宏名称? 说我们有:
#include <iostream>
using std::cout;
using std::endl;
#define MACRO() \
cout << __MACRO_NAME__ << endl
int main () {
MACRO();
return 0;
}
预期产出:
MACRO
答案 0 :(得分:1)
做了一点研究,我不认为这在c ++中是可行的。
但你可以用这个:
#define MACRO2(x) cout << #x << endl
#define MACRO MACRO2(MACRO)
在此,您可以使用MACRO2
执行MACRO
的任务,也可以将MACRO
的名称作为参数x
访问。