האם אתה יכול להעביר מצביע באמצעות הפניה C++?
האם אתה יכול להעביר מצביע באמצעות הפניה C++?

וִידֵאוֹ: האם אתה יכול להעביר מצביע באמצעות הפניה C++?

וִידֵאוֹ: האם אתה יכול להעביר מצביע באמצעות הפניה C++?
וִידֵאוֹ: C++ | Конструктор | Деструктор | Оператор присваивания | Введение в ООП | 04 2024, מאי
Anonim

הפניה עוברת אל א מַצבִּיעַ ב ג ++

הערה: זה מותר להשתמש ב" מצביע אל מצביע " בשניהם ג ו ג ++, אבל אנחנו יכולים להשתמש " הפניה למצביע " רק ב ג ++. אם א מַצבִּיעַ מועבר לפונקציה כפרמטר וניסה לשנות את השינויים שנעשו ב- פוינטר עושה זאת לא משקף בחזרה מחוץ לפונקציה הזו.

בהתאם, האם מצביעים מועברים על ידי הפניה או ערך C++?

כן לשניהם. מצביעים הם עבר על ידי ערך כמו כל דבר אחר. כלומר התוכן של מַצבִּיעַ המשתנה (הכתובת של האובייקט אליו מצביעים) מועתקת. בעת שימוש ב-C++, באמצעות הפניות מועדף על מַצבִּיעַ (מעתה גם ל מַצבִּיעַ ל מַצבִּיעַ ).

דע גם, איך מעבירים מערך כהפניה ב-C++? מערך עובר לתפקד באמצעות call by התייחסות כאשר אנו לַעֲבוֹר הכתובת של א מַעֲרָך בזמן קריאה לפונקציה אז זה נקרא function call by התייחסות . כאשר אנו לַעֲבוֹר כתובת כארגומנט, להצהרת הפונקציה צריך להיות מצביע כפרמטר כדי לקבל את הכתובת שעברה.

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

א מַצבִּיעַ ל התייחסות אינו חוקי ב-C++, מכיוון ש-unlike a מַצבִּיעַ - א התייחסות הוא רק מושג שמאפשר למתכנת ליצור כינויים של משהו אחר. א מַצבִּיעַ הוא מקום בזיכרון שיש לו כתובת של משהו אחר, אבל א התייחסות לא.

מהו מצביע התייחסות C++?

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