C ++在宏中获取宏名称
c++ get macro name in macro
如何获取宏中的宏名?
假设我们有:
#include <iostream>
using std::cout;
using std::endl;
#define MACRO() \
cout << __MACRO_NAME__ << endl
int main () {
MACRO();
return 0;
}
预期输出:
MACRO
做了一点研究,我认为这在 C++ 中是不可行的。
但是你可以使用这个:
#define MACRO2(x) cout << #x << endl
#define MACRO MACRO2(MACRO)
在此您可以使用 MACRO2
来完成 MACRO
的任务,您还可以访问 MACRO
的名称作为参数 x
.
如何获取宏中的宏名? 假设我们有:
#include <iostream>
using std::cout;
using std::endl;
#define MACRO() \
cout << __MACRO_NAME__ << endl
int main () {
MACRO();
return 0;
}
预期输出:
MACRO
做了一点研究,我认为这在 C++ 中是不可行的。
但是你可以使用这个:
#define MACRO2(x) cout << #x << endl
#define MACRO MACRO2(MACRO)
在此您可以使用 MACRO2
来完成 MACRO
的任务,您还可以访问 MACRO
的名称作为参数 x
.