感谢提供思路, 我琢磨改了一下, 弄个更简单的版本:
#define LIST {T(V1), T(V2), T(V3)}
#define T(x) x
enum LIST;
#undef T
#define T(x) {#x,x}
std::map<std::string, int> mp = LIST;
#undef T
【 在 ArchLinux 的大作中提到: 】
: // mystrings.hh
: REGISTER(STRING0)
: REGISTER(ANYSTRING)
: ...................
--
FROM 64.104.125.*