Avatar ·

ما الفرق بين مقارنة السلاسل النصية باستخدام == و compare() في C++؟

مرحبًا أيها الزملاء! بدأت تعلم لغة C++ وواجهت موقفًا غير مفهوم. عندما أقارن السلاسل النصية، عادةً ما أستخدم عامل التشغيل `==` ويبدو أنه يعمل. لكن في كود الآخرين، أرى غالبًا طريقة `compare()`. إليك مثال: ```cpp #include #include int main() { std::string str1 = "Hello"; std::string str2 = "Hello"; std::string str3 = "World"; // الطريقة 1: عامل التشغيل == if (str1 == str2) { std::cout << "str1 == str2: true" << std::endl; } // الطريقة 2: طريقة compare() if (str1.compare(str2) == 0) { std::cout << "str1.compare(str2) == 0: true" << std::endl; } if (str1.compare(str3) != 0) { std::cout << "str1.compare(str3) != 0: true" << std::endl; } return 0; } ``` كلا الطريقتين