有没有人知道允许你做这样的事情的图书馆?
std::transform(vecA.begin(), vecA.end(),
vecB.begin(),
vecOutput.begin(),
// run-time specified expression
magic_functor<float>("exp(a/(b+3))")
);
其中magic_functor是库提供的仿函数,a和b通过vecA和vecB迭代。
我可以自己想出一些东西(这样做会有很多乐趣),但最好避免重新发明轮子(我的老板也会杀了我)。花了一些时间在网上搜索,但找不到符合条件的任何东西。
它需要灵活而快速,因此只能解析字符串一次的仿函数方法(例如,在构造内部创建执行堆栈)将是理想的,但对其他解决方案开放。
答案 0 :(得分:4)
有几个选项(需要一些工作,不会“开箱即用”):