Rust/מערכים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
שורה 77:
 
=== {{אל תעשה}} - השמה למערך לא מאותחל ===
לא ניתן לבצע פעולת השמה על מערךאף איבר במערך לא מאוחל, גם אם הוא הוגדר כ-muttable.
<source lang = "rust">
let mut my_array: [i32; 10];
my_array[5] = 5; // error: use of possibly uninitialized variable: `my_array`
</source>
הסיבה לכך היא שכאשר המחשב מתרגם את הקוד שלנו ל[[אסמבלי x86|שפת סף]], הוא בדרך כלל משתמש באינדקס הראשון של המערך כדי לגשת לאינדקס המסויים אותו אנו רוצים. כך, אם הערך הראשון של המערך לא אותחל, המחשב יוכל לגשת לערך זבל לא מאותחל. כזכור, אחד הדגשים העיקריים של שפת ראסט הוא בטיחות לפני הכל, ולכן וכדי למנוע מצב דומה למצב שתואר, הוחלט לא לאפשר באופן גורף גישה לאיברים במערך לא מאותחל (לא משנה באיזה איבר מדובר).
 
=== {{עשה}} - אתחול כל איברי המערך עם ערך קבוע ===