有谁知道一个图书馆可以让你做这样的事情?
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 进行迭代。
我可以自己想出一些东西(这样做会很有趣),但最好避免重新发明轮子(我的老板也会杀了我)。花了一些时间搜索网络,但无法真正找到符合要求的任何内容。
它需要灵活和快速,因此只解析字符串一次(例如在构造时在内部创建执行堆栈)的仿函数方法将是理想的,但对其他解决方案持开放态度。