我现在做一个程序,要执行下面的一个操作:由一批放在内存中的数据(map<CString, double>,索引为参数名称,值为参数值)。用户输入一个条件,如"Name < 30",程序拿到这个字符串后,把"Name"匹配到一个参数上,把"30"作为要比较的参数数值,把"<"转换成C++语句中的条件判断操作符"<"。也就是在运行时根据用户输入动态生成条件判断代码,然后执行判断把数据过滤出来。
我想请教各位高手如何把用户输入的操作符在运行时动态转换成C++代码中的比较操作符?然后再执行?我不准备用switch case进行判断,如果操作符太多将很难维护。是不是必须采用编译器类似的操作来处理?大家有没有什么建议,请给小弟指点。谢谢各位高手了!