smo*_*ing 12 c++ algorithm math parsing functor
有谁知道一个允许你做这样的事情的图书馆?
std::transform(vecA.begin(), vecA.end(),
vecB.begin(),
vecOutput.begin(),
// run-time specified expression
magic_functor<float>("exp(a/(b+3))")
);
Run Code Online (Sandbox Code Playgroud)
其中magic_functor是库提供的仿函数,a和b通过vecA和vecB迭代.
我可以自己想出一些东西(并且会有很多乐趣),但最好避免重新发明轮子(我的老板也会杀了我).花了一些时间在网上搜索,但却找不到符合条件的任何东西.
它需要灵活而快速,因此只能解析字符串一次的仿函数方法(例如,在构造内部创建执行堆栈)将是理想的,但我对其他解决方案持开放态度.
几个选项(需要一些工作,并且在盒子的 \xe2\x80\x9cout\xe2\x80\x9d 中不起作用):
\n\n