怎么判断cin输入的是不是数字?

现在试着做一个后缀表达式的计算器,是需要用户自己输入数字和指令的,指令包括一些字母还有运算符号
因为打算用一个while(cin >> input),怎么能判断input是不是数字呢?input是string
因为头文件规定只能用iostream, string, cstdlib, cassert和cmath。。。。。
麻烦帮忙解答一下。。。。

用 isdigit判断是否为数字

isdigit是cctype的,规定不能用这个头文件。。。

可以换一种思路,输入一个数,然后将其强制转换成整数。