C++/מצביעים והמשתנה הפניה: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Crazy Ivan (שיחה | תרומות)
מ קטגוריה
שורה 5:
==יישום בדוגמה פשוטה==
הבה נגדיר משתנה מיוחס:
<source lang="cpp">
<pre style="direction:ltr;">
int &ref;
</presource>
למשתנה המיוחס קראנו ref, הכרזנו אותו כמתייחס לטיפוס int, והקדמנו לשמו את התו &.
בדומה למקרה של הכרזת מצביע, שם נקדים את התו *.<br />
כעת נייחס את המשתנה המתייחס למשתנה רגיל אחר:
<source lang="cpp">
<pre style="direction:ltr;">
int num;
ref=num;
</presource>
שימו לב: לא התרחשה כאן השמת ערכים, אלא ייחוס של המשתנה ref למשתנה num, כזה ייחוס אגב, יכול להתרחש רק פעם אחת בחייו של משתנה מיוחס.
עכשיו אם נשנה את ערכו של ref, ישתנה גם ערכו של num, וכך גם ההפך:
<source lang="cpp">
<pre style="direction:ltr;">
ref=10;
cout << num;
num=20;
cout << ref;
</presource>
ניתן לראות שלקביעת ייחוס יש דמיון לנתינת שם חדש, נרדף, למשתנה. את אותו הדבר יהיה אפשר כמובן ליישם בעזרת מצביעים, אבל אם כך, היינו זקוקים לשימוש רב באופרטורים.