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


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

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

为了详细说明用例,当两个字符串恰好不同时,如果你对两个字符串之间的关联方式(小于或大于)感兴趣,compare() 会很有用。例如,

示例

#include <iostream>
using namespace std;
int main() {
   string s1 = "Tutorials Point";
   string s2 = "Hello World";
   cout << s1 == s2;
   cout << s1.compare(s2);
   cout << s2.compare(s1);
   return 0;
}

输出

将输出 −

0
1
-1

更新于: 2020-02-11

271 浏览量

开启你的 职业生涯

完成课程以获得认证

开始
广告