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
广告