सी ++ में हम तुलना () फ़ंक्शन और ==ऑपरेटर का उपयोग करके दो तारों की तुलना कर सकते हैं। फिर सवाल यह है कि दो अलग-अलग तरीके क्यों हैं? कोई फर्क है या नहीं?
तुलना () और ==ऑपरेटर के बीच कुछ बुनियादी अंतर हैं। सी ++ में ==ऑपरेटर को स्ट्रिंग के लिए ओवरलोड किया जाता है ताकि यह जांचा जा सके कि दोनों तार समान हैं या नहीं। यदि वे समान हैं तो यह 1 लौटाएगा, अन्यथा 0. तो यह बूलियन प्रकार के फ़ंक्शन की तरह है।
तुलना () फ़ंक्शन दो अलग-अलग चीजें देता है। यदि दोनों समान हैं, तो यह 0 लौटाएगा, यदि वर्ण s और t के लिए बेमेल पाया जाता है, और जब s t से कम है, तो यह -1 लौटाता है, अन्यथा जब s t से बड़ा होता है तो यह +1 देता है। यह ASCII कोड का उपयोग करके मिलान की जांच करता है।
आइए उपरोक्त चर्चा का विचार प्राप्त करने के लिए एक उदाहरण देखें।
उदाहरण कोड
#includeनामस्थान का उपयोग करके std;int main() { string str1 ="Hello"; स्ट्रिंग str2 ="सहायता"; स्ट्रिंग str3 ="हैलो"; cout <<"==का उपयोग करके str1 और str2 की तुलना करना, Res:" <<(str1 ==str2) < आउटपुट
==का उपयोग करके str1 और str2 की तुलना करना, Res:0 ==का उपयोग करके str1 और str3 की तुलना करना, Res:1 तुलना () का उपयोग करके str1 और str2 की तुलना करना, Res:-1 तुलना (), Res:0 का उपयोग करके str1 और str3 की तुलना करना।>