需求很简单, 初始话一个静态的string到数字的转换表
比如"STRING1", 对应一个enum STRING1=1
先
enum {STRING1=0, ANYSTRING, XXXXX};
表用array
const char *str[]={"STRING0","ANYSTRING", "XXXXX"....};
或者用map:
std::map<string, int> = {
{"STRING0", STRING0},
{"ANYSTRING", ANYSTRING},
{"XXXX", XXXX},
};
这个转换表短了没啥问题, 但如果有几十,上百个的时候,就有点麻烦, 主要是因为有2个地方要填充, 前后漏掉, 或者拼错,或者顺序不一致的时候,就郁闷了
有简单的注册方法吗, 比如这样
REGISTER(STRING0, ANYTRING, XXXX, YYY, ZZZ);
会很方便的展开定义, 后续修改维护都主要改一个地方就行
--
修改:Friz FROM 64.104.125.*
FROM 64.104.125.*