มีความแตกต่างเพียงอย่างเดียวระหว่างตัวดำเนินการเชิงสัมพันธ์ ==และ 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