cin遇到空格或回车则将输入的内容切分为不同的字符串,需要结束输入的时候需要使用Ctrl+C结束cin输入,即退出while循环
expr是个动态数组,不需要你担心长度啊
string也是动态长度的字符串,也不需要你担心长度啊
你到底担心啥呢?
str是string,cin遇到空格或回车停止,如果你的表达式里没有空格,cin>>str就直接读入整个表达式
如果有空格,用getline(cin,str)
你应该做词法分析,把输入流中的一个个字符转化为表达式中的token,比如数值、运算符等,然后再进行语法分析计算表达式的值。你可以找本编译原理的书籍看看。