Computer >> Máy Tính >  >> Lập trình >> C ++

Sự khác biệt giữa toán tử quan hệ (==) và std ::string ::so sánh () trong C ++


Chỉ có một sự khác biệt giữa toán tử quan hệ ==và std ::string ::so sánh (). Đó là giá trị trả về. Bên trong, string ::operator ==() đang sử dụng string ::so sánh ()

Toán tử quan hệ (==) trả về một boolean chỉ cho biết 2 chuỗi có bằng nhau hay không trong khi so sánh trả về một số nguyên cho biết các chuỗi liên quan với nhau như thế nào.

Để giải thích kỹ về các trường hợp sử dụng, so sánh () có thể hữu ích nếu bạn quan tâm đến cách hai chuỗi liên quan với nhau (ít hơn hoặc lớn hơn) khi chúng khác nhau. Ví dụ,

Ví dụ

#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;
}

Đầu ra

Điều này sẽ đưa ra kết quả -

0
1
-1