2013-11-27 128 views
0

我試圖在容器中存儲表達式(運算符和操作數)。我能想到的最好的實現是將它們存儲在一個字符串中。存儲表達式的最佳實踐

例如:

2 30 + 5 * 

將被存儲爲

"2 30 + 5 *" 

然而,這招致了問題,使用

string tk; 
string expr; 
stringstream e(expr); 
e >> tk; 

如果是字符串時,提取任何缺失的空間,「2 30+ 5 *」,錯誤處理部分將是某種令人分心的事情。有沒有更好的方法來做到這一點?

謝謝。

回答

0

無論你必須將表達式分解成它的部分(標記化),首先要做到這一點,然後存儲一個數組/向量的標記。