このフォーラムで同様の質問を見たことがありますが、まだ少し混乱しています....次のような文字列をどのように変換できますか:
MyString = "5+4-3*2";
intに格納できる単純な数学演算に変換しますか? (最も効率的なソリューションを探しています)。
Ps。次のライブラリのみを使用できます。
<cstdio>,<vector>,<cstring>,<string>,<cmath>
誰か助けてくれませんか?
eval
他の言語の型関数のように、これを行うために C++ に組み込まれている機能はありません。面倒な作業はすべて自分で行う必要があります。
これには以下が含まれます。
5
、+
、4
など...+
、-
などで、オペランドは5
などです4
。switch
またはブロックが含まれる可能性があります。if-else
テンプレートや継承をどうにかして工夫することもできますが、私は最初は単純にしておくことを好みます。