【发布时间】:2021-09-15 13:55:08
【问题描述】:
在两个字符串之间使用== 或std::string::compare 时得到不同的结果。
这是我正在执行的代码。
#include <iostream>
#include <string>
int main()
{
std::string str1 = "W";
char tmpChar = 'W';
std::string str2(1, tmpChar);
bool equalCompare = str1.compare(str2);
bool equalSign = (str1 == str2);
std::cout << "Compare result: " << equalCompare << std::endl;
std::cout << "Equal sign result: " << equalSign << std::endl;
return 0;
}
我想这与我创建 str2 的方式有关,但这是我发现将单个字符转换为字符串的方式。
【问题讨论】:
-
我看到那个帖子,我认为他们应该是平等的。 eeroika 的回答是对的。比较返回一个整数,我认为它是一个布尔值。区别在于铸件