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