מה ההבדל בין C++ String == לבין Compare() Method

Mh Hhbdl Byn C String Lbyn Compare Method



C++ היא שפת תכנות המשמשת לפיתוח יישומים בעלי ביצועים גבוהים ואיכותיים. אחת התכונות ש-C++ מציעה היא מניפולציה של מחרוזות, הכוללת את היכולת להשוות מחרוזות כדי לראות אם הן שוות. עם זאת, C++ מספק שתי שיטות להשוואת מחרוזות: ' == ' המפעיל וה' לְהַשְׁווֹת() ' שיטה. למרות הדמיון ביניהם, יש להם הבדלים ברורים שיכולים להשפיע על ביצועי הקוד שלך.

מדריך זה יכסה את ההבדל בין שתי השיטות הללו, == והשוואה() ב-C++.







== אופרטור ב-C++

ב-C++, האופרטור double equal == משמש כדי לבדוק אם שני הערכים שווים או לא. להלן הפורמט הכללי לשימוש באופרטור ==:



כדי להשתמש ב' == ' אופרטור להשוואת מחרוזות, הפורמט הכללי הוא כדלקמן:



  • ראשית, עליך להכריז על שני משתני מחרוזת לצורך השוואה.
  • לאחר מכן השתמש ב' == ' כדי להשוות את שתי המחרוזות.
  • האופרטור יחזיר ערך בוליאני של ' אמת או שקר ', תלוי אם שתי המחרוזות זהות.

הנה דוגמה:





#include

#include

באמצעות מרחב שמות סטד ;



int רָאשִׁי ( ) {

מחרוזת str1 = 'שלום' ;

מחרוזת str2 = 'לינוקס' ;

מחרוזת str3 = 'שלום' ;



אם ( str1 == str2 ) {

cout << 'מחרוזת 1 ומיתר 2 שוות' << endl ;

} אַחֵר {

cout << 'מחרוזת 1 ומחרה 2 אינן שוות' << endl ;

}



אם ( str1 == str3 ) {

cout << 'מחרוזת 1 ומיתר 3 שוות' << endl ;

} אַחֵר {

cout << 'מחרוזת 1 ומחרה 3 אינן שוות' << endl ;

}



לַחֲזוֹר 0 ;

}

שיטת compare() ב-C++

ב-C++, השיטה compare() משמשת להשוואה בין שתי מחרוזות תו אחר תו, על סמך ערכי ה-ASCII שלהן, ומחזירה מספר שלם המייצג את הקשר ביניהן. אם המחרוזת הראשונה קטנה מבחינה לקסיקוגרפית מהמחרוזת השנייה, הערך השלם המוחזר בשיטה זו הוא שלילי ואפס אם שתי המחרוזות המושוואות זהות, ואם המחרוזת הראשונה גדולה מהאחרת, שיטה זו תחזיר את המספר החיובי.



להלן הפורמט לשימוש בשיטת compare():

int שם משתנה = str1. לְהַשְׁווֹת ( str2 ) ;

להלן הקוד לדוגמה להשוואה בין שתי מחרוזות בשיטת compare():

#include

#include

באמצעות מרחב שמות סטד ;



int רָאשִׁי ( ) {

מחרוזת str1 = 'LinuxHint' ;

מחרוזת str2 = 'אתר אינטרנט' ;

int תוֹצָאָה = str1. לְהַשְׁווֹת ( str2 ) ;

אם ( תוֹצָאָה < 0 )

{

cout << 'מחרוזת 1 פחותה מבחינה לקסיקוגרפית ממחרוזת 2.' << endl ;

}

לַחֲזוֹר 0 ;

}

מה ההבדל בין C++ String == לשיטת compare()

ההבדלים העיקריים בין השיטה compare() לאופרטור == מפורטים להלן:

לְהַשְׁווֹת() == מפעיל
זה מחזיר את הערך השלם זה מחזיר את הערך הבוליאני
דורש את אותו אורך של מחרוזות השוואה כדי לקבל תוצאות מדויקות משווה את כל המחרוזות תו אחר תו
זה יכול לבצע מספר פעולות בהתאם לארגומנטים יכול לבצע פעולה בודדת בלבד
מבצע השוואה לקסיקוגרפית של המחרוזות תו אחר תו מבצע השוואה פשוטה של ​​כל המיתרים
מבצע חילוץ מחרוזת מילה אחר מילה מבצע השוואת מחרוזת תו אחר תו

סיכום

C++ היא שפת תכנות רבת עוצמה המציעה יכולות מניפולציה של מחרוזות, כולל היכולת להשוות מחרוזות באמצעות ' == ' מפעיל או ' לְהַשְׁווֹת() ' שיטה. לשתי השיטות יש הבדלים מובהקים המשפיעים על ביצועי הקוד, והבנה מתי להשתמש בכל אחת מהן יכולה לעזור למפתחים לכתוב קוד יעיל יותר.