C++ で数式を評価する最良の方法は何ですか? 質問する

C++ で数式を評価する最良の方法は何ですか? 質問する

たとえば、カスタム数式を評価する最良の方法は何ですか?

3+sqrt(5)+pow(3)+log(5)

Python を C++ に埋め込むことでそれが実現できることは知っていますが、もっと良い方法はありますか?

ありがとう!

ベストアンサー1

理由は不明'捕虜'パラメータは1つしかありませんが、エクスプレッションライブラリから次のことが導き出せる単純解決:

#include <cstdio>
#include <string>
#include "exprtk.hpp"

int main()
{
   typedef exprtk::expression<double> expression_t;
   typedef exprtk::parser<double>         parser_t;

   std::string expression_string = "3 + sqrt(5) + pow(3,2) + log(5)";

   expression_t expression;

   parser_t parser;

   if (parser.compile(expression_string,expression))
   {
     double result = expression.value();

     printf("Result: %19.15\n",result);
   }
   else
     printf("Error in expression\n.");

   return 0;
}

おすすめ記事