Menu
Coddy logo textTech

מצביעים לעומת הפניות

שיעור 10 מתוך 14 בקורס מצביעים ב-C++ של Coddy.

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

מצביעים יכולים להיות null, או לא להצביע על שום דבר, ולאחר שמכריזים עליהם אפשר לשנות בהמשך על מה הם מצביעים

int a = 10, b = 20;
int *ptr; // לא מצביע על שום דבר

ptr = &a; // מצביע על a
ptr = &b; // מצביע על b

הפניות מייצגות כינויים למשתנה אחר. הן לא יכולות להיות לא מאותחלות (null), והן לא יכולות להתייחס לשום דבר. חייבים לאתחל אותן בזמן ההכרזה, ואי אפשר להפנות אותן מחדש

int a = 10;
    
// לא מותר
int &ref;
    
// מותר
int &refA = a;

יש כמה הבדלים בין מצביעים להפניות. משתמשים בשניהם למשימות שונות, אך חשוב לדעת מה אפשר ומה אי אפשר לעשות עם כל אחד מהם.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

challenge icon

אתגר

קל

צרו פונקציה swapP שמקבלת שני מספרים שלמים כפרמטרים ומשתמשת במצביעים כדי להחליף בין הערכים של המספרים הנתונים, וצרו פונקציה swapR שבה תעשו אותו הדבר, אך תשתמשו בהפניות ולא במצביעים

הערה: אל תכתבו את הפונקציה <i>main()</i>

נסו בעצמכם

#include <iostream>

using namespace std;

void swapP() {}

void swapR() {}


// אין לכתוב את הפונקציה main()

כל השיעורים ביחידה מצביעים ב-C++

תרגלו בעצמכם: קומפיילר C++ אונליין