C++通过宏将任何内容转成字符串的方式
今天咨询DeepSeek,看到一种写法,使用宏,可以将一切不带空格的内容(包括枚举,或者随便任何未定义的符号)转成字符串:
#include <iostream>
#include <string>
using namespace std;
#define ENUM_TO_STRING(color) #color
enum class Color { Red, Green, Blue };
int main()
{
cout << "Hello World " << ENUM_TO_STRING(Color::Red) << endl;
std::string s = ENUM_TO_STRING(AAAA::111);
cout << "Hello World " << s << endl;
return 0;
}
输出结果:
Hello World Color::Red
Hello World AAAA::111
感觉用起来非常方便