在C++中,std :: string類實現了comparison operators。 下面的代碼打印AAA
C++:比較運算符>和字符串文字的意外結果
#include <iostream>
using namespace std;
int main() {
if("9">"111")
cout << "AAA";
else
cout << "not AAA";
return 0;
}
這個片斷輸出not AAA
:
#include <iostream>
using namespace std;
int main() {
if("9">"111")
cout << "AAA";
else
cout << "not AAA";
if("99">"990")
cout << "BBB";
return 0;
}
爲什麼會這樣?
你的代碼在哪裏使用'std :: string'? '「blah」'不是'std :: string'。 – NathanOliver
區分'std :: string'和C-string。 –
您正在比較'const char *'值,而不是'std :: string'。 – user0042