12

このようなことができるライブラリを知っている人はいますか?

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 回だけ解析するファンクター アプローチ (たとえば、構築時に内部で実行スタックを作成する) が理想的ですが、他のソリューションにも対応しています。

4

1 に答える 1

4

いくつかのオプション (いくつかの作業が必要であり、「そのままでは」動作しません):

于 2012-04-11T21:14:47.240 に答える