【发布时间】:2013-11-10 13:46:05
【问题描述】:
我想知道是否有一种将变量与数据类型进行比较的简洁方法。
下面的例子不是一段正常运行的代码,但是注释和注释下面的代码应该能解释我的问题:
string inputString = "";
float inputFloat = 0.0;
cout << "Input a string: ";
getline(cin, inputString);
stringstream(inputString) >> inputFloat;
// Is there a way to compare a float variable to a string or float data type?
if(inputFloat == string) {
cout << "inputFloat is not a float" << endl;
} else if(inputFloat == float) {
cout << "inputFloat is a float!" << endl;
}
【问题讨论】:
-
当
inputFloat应该等于float或string时? -
上面写着
float inputFloat。这是非常明确的:它是float。此外,由于 C++ 没有基类类型,而且像float这样的内置数据类型不是对象...... -
typeid关键字可能对此有所帮助。
标签: c++ string io getline stdstring