github傳送門:https://github.com/ArashPartow/exprtkios
網站上有不少介紹,這裏先使用最簡單的方法。git
將exprtk.hpp加入到項目中就能夠了,而後包含這個頭文件。github
常規表達式:express
#include <iostream> #include "exprtk.hpp" using namespace std; double eval(string s) { exprtk::expression<double> expr; exprtk::parser<double> p; p.compile(s,expr); return expr.value(); } int main(int argc,char** argv) { if(argc!=2) { cout<<"Usage:"<<argv[0]<<" \"expression\""<<endl; return -1; } cout<<argv[1]<<"="<<eval(argv[1])<<endl; return 0; }
編譯運行測試: 測試
對比了一下第二個計算的結果:網站
使用這個庫,寫一個圖形科學計算器,豈不是分分鐘的事情?可能最主要的工做被淪落爲拖控件和界面設計了……spa
不過也有坑爹的地方,那就是因爲使用了hpp文件的方式,這麼一個簡單的程序,編譯之後文件大小竟然是10.1M,設計
固然這只是這個應用的冰山一角,實際上,還有更高級更強大的功能,例如支持帶變量的表達式等,感興趣的話能夠摸索試試。blog