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