Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความแตกต่างระหว่างโอเปอเรเตอร์เชิงสัมพันธ์(==) และ std::string::compare() ใน C++


มีความแตกต่างเพียงอย่างเดียวระหว่างตัวดำเนินการเชิงสัมพันธ์ ==และ std::string::compare() นั่นคือมูลค่าที่ส่งคืน ภายใน string::operator==() กำลังใช้ string::compare()

ตัวดำเนินการเชิงสัมพันธ์(==) คืนค่าบูลีนเพียงแสดงว่าสตริง 2 มีค่าเท่ากันหรือไม่ ขณะที่การเปรียบเทียบจะส่งกลับจำนวนเต็มที่แสดงว่าสตริงมีความสัมพันธ์กันอย่างไร

หากต้องการอธิบายอย่างละเอียดเกี่ยวกับกรณีการใช้งาน การเปรียบเทียบ () อาจมีประโยชน์หากคุณสนใจว่าสตริงทั้งสองมีความสัมพันธ์กันอย่างไร (น้อยกว่าหรือมากกว่า) เมื่อมันแตกต่างกัน ตัวอย่างเช่น

ตัวอย่าง

#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