C++/מצביעים והמשתנה הפניה: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד |
|||
שורה 19:
הבה נגדיר משתנה מיוחס:
<source lang="c++">
int
int &ref=num;▼
</source>
למשתנה המיוחס קראנו ref, הכרזנו אותו כמתייחס לטיפוס int, והקדמנו לשמו את התו &.
בדומה למקרה של הכרזת מצביע, שם נקדים את התו *.<br />
שימו לב: לא התרחשה כאן השמת ערכים, אלא ייחוס של המשתנה ref למשתנה num, כזה ייחוס אגב, יכול להתרחש רק פעם אחת בחייו של משתנה מיוחס, וחייב להתבצע בהכרזה שלו.▼
▲int num;
▲שימו לב: לא התרחשה כאן השמת ערכים, אלא ייחוס של המשתנה ref למשתנה num, כזה ייחוס אגב, יכול להתרחש רק פעם אחת בחייו של משתנה מיוחס.
עכשיו אם נשנה את ערכו של ref, ישתנה גם ערכו של num, וכך גם ההפך:
<source lang="c++">
ref=10;
cout << num; //10
num=20;
cout << ref; //20
</source>
ניתן לראות שלקביעת ייחוס יש דמיון לנתינת שם חדש, נרדף, למשתנה. את אותו הדבר יהיה אפשר כמובן ליישם בעזרת מצביעים, אבל אם כך, היינו זקוקים לשימוש רב באופרטורים.
|