このようなことができるライブラリを知っている人はいますか?
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 を介して反復されます。
私は自分で何かを思いつくことができます (そうすればとても楽しいでしょう) が、車輪の再発明は避けたほうがよいでしょう (上司に殺されることもあります)。Web を検索するのに時間を費やしましたが、請求書に適合するものを実際に見つけることができません。
柔軟で高速である必要があるため、文字列を 1 回だけ解析するファンクター アプローチ (たとえば、構築時に内部で実行スタックを作成する) が理想的ですが、他のソリューションにも対応しています。