C++中关系运算符(==)和std::string::compare()的区别

关系运算符 == 和 std::string:: 之间只有一个区别compare()。那就是返回值。在内部, string::operator==() 正在使用 string::compare()

关系运算符(==)返回一个布尔值,仅表示 2 个字符串是否相等,而 compare 返回一个整数,表示字符串如何相互关联。

compare()如果您对两个字符串碰巧不同时如何相互关联(较小或较大)感兴趣,则详细说明用例可能会很有用。例如,

示例

#include <iostream>
using namespace std;
int main() {
   string s1 = "nhooo.com";
   string s2 = "Hello World";
   cout << s1 == s2;
   cout << s1.compare(s2);
   cout << s2.compare(s1);
   return 0;
}
输出结果

这将给出输出 -

0
1
-1