כיצד להשתמש בטווח מבוסס לולאה ב-C++

Kyzd Lhstms Btwwh Mbwss Lwl H B C



שפת התכנות C++ מבוסס טווח עבור לולאה הוא תכונה עדכנית יחסית שהוצגה לראשונה ב-C++11. מבוסס טווח עבור לולאות לבצע לולאה בטווח. הם עובדים עם כל מיכל שיש לו איטרטור, כולל מערכים, וקטורים, מפות, סטים ואפילו סוגים מוגדרים על ידי משתמש שמיישמים את הפעולות הדרושות.

תחביר של טווח מבוסס לולאה

א מבוסס טווח עבור לולאה יש תחביר מאוד פשוט. הוא מורכב ממשתנה הלולאה, המיכל או הטווח שיש לחזור עליו ונקודתיים.







ל ( range_declaration: טווח_ביטוי ) הצהרת לולאה



range_declaration: הצהרת טווח היא הצהרת משתנה בעל אותו סוג כמו האלמנטים של ביטוי רכיב הטווח. כדי לקבוע אוטומטית את סוג הרכיבים ב-a טווח_ביטוי , מילת המפתח האוטומטית נמצאת בשימוש תדיר.



טווח_ביטוי: כל ביטוי המייצג רשימה של אלמנטים הוא א טווח_ביטוי .





משפט לולאה: הגוף של לולאת for מורכב ממשפט אחד או יותר שיש לחזור עליו עד סוף ה-range_expression.

שיטות לביצוע מבוסס טווח עבור לולאה

ישנן שלוש שיטות שניתן להשתמש בהן מבוסס טווח עבור לולאה .



שיטה 1: שימוש במערכים

מבוסס טווח עבור לולאה ניתן להפעיל באמצעות מערכים כמו זה.

#include
שימוש במרחב שמות std;

int main ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
ל ( int n : numArray ) {
cout << נ << '' ;
}
לַחֲזוֹר 0 ;
}

בקוד לעיל, אותחל מערך שלמים בשם numArray. ואז האלמנטים של numArray הודפסו באמצעות a מבוסס טווח עבור לולאה .

תְפוּקָה

שיטה 2: שימוש בוקטורים

מבוסס טווח עבור לולאה ניתן להפעיל באמצעות וקטורים כמו זה.

#include
#include
שימוש במרחב שמות std;
int main ( )
{
int x;
וֶקטוֹר < int > ב = { 1 , 2 , 3 , 4 , 5 } ;
ל ( int x : v )
{
cout << איקס << '' ;
}
לַחֲזוֹר 0 ;
}

בקוד לעיל, וקטור נקרא ב אותחל. כאן, האלמנטים של וקטור v הודפסו באמצעות a מבוסס טווח עבור לולאה.

תְפוּקָה

שיטה 3: הכריז על אוסף בתוך לולאה

מבוסס טווח עבור לולאה ניתן להכריז גם בתוך הלולאה. זה פועל באופן דומה לאופן שבו מערך או וקטור בפועל יפעלו.

#include

שימוש במרחב שמות std;
int main ( ) {
ל ( int n: { 5 , 10 , חֲמֵשׁ עֶשׂרֵה , עשרים , 25 } ) {
cout << נ << '' ;
}
לַחֲזוֹר 0 ;
}

בקוד לעיל, האוסף מוצהר בתוך הלולאה עצמה ולאחר מכן מודפס.

תְפוּקָה

יתרונות וחסרונות של Range Based for Loop

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

מבוסס טווח עבור לולאות עם זאת, יש הגבלות מסוימות. מכיוון שמשתנה הלולאה הוא עותק של האלמנט או הפניה אליו ולא לאלמנט בפועל, לא ניתן להשתמש בו כדי לשנות את האלמנטים של המיכל. מכיוון שהטווח המלא עובר ללא הרף, איננו יכולים לדלג על אלמנטים כלשהם או לחזור על רק חלק מהנתונים.

סיכום

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