Подтвердить что ты не робот

Преобразование строки в математическую оценку

Хорошо, поэтому я хочу использовать строку в качестве входных данных (например, "16 * 12 + 25" ), преобразовать ее в математическую оценку, которую компьютер может понять и вернуть оцениваемое значение. Я, вероятно, мог бы написать это сам, но это, скорее всего, займет довольно много времени, и в конце концов, это все равно не закончится так хорошо, как мне бы хотелось, если я не хочу вкладывать в него еще больше времени.

Итак, мой вопрос: есть ли script, библиотека или api, которые, как вы знаете, могут сделать это для С++? Я нашел некоторые для java, python и .NET. Но я не работаю ни с одним из этих языков, и я хотел бы оставаться на С++ так долго (надеюсь, на протяжении всего проекта), насколько это возможно. У вас есть хорошие идеи или ссылки?

4b9b3361

Ответ 2

Для этого нет ничего встроенного в С++; все синтаксический код выражения принадлежит компилятору. Вам нужно будет использовать некоторую внешнюю библиотеку. Быстрый поиск в Google вызывает muParser, который выглядит довольно разумно.