c ++在宏中获取宏名称

时间:2015-07-23 03:06:16

标签: c++ macros

如何在宏中获取宏名称? 说我们有:

#include <iostream>
using std::cout;
using std::endl;

#define MACRO() \
cout << __MACRO_NAME__ << endl

int main () {
    MACRO();
    return 0;
}

预期产出:

MACRO

1 个答案:

答案 0 :(得分:1)

做了一点研究,我不认为这在c ++中是可行的。

但你可以用这个:

#define MACRO2(x) cout << #x << endl
#define MACRO MACRO2(MACRO)

在此,您可以使用MACRO2执行MACRO的任务,也可以将MACRO的名称作为参数x访问。