我正在尝试这样的事情:
int integer;
cin >> integer;
if(!integer) {//do something}
但很明显,如果整数= 0,则会出现问题。
是否有更有效的方法来检查某些东西是否为整数?
答案 0 :(得分:5)
在fail
派生对象中使用operator bool
或basic_ios
:
if(cin.fail()) {//do something}
答案 1 :(得分:1)
使用std::stoi()。如果字符串不是整数值,您将得到异常。
答案 2 :(得分:0)
请查看fail bit - 它会告诉你一些不妥之处