מה זה rvalue ו-lvalue ב-c++?

תוכן עניינים:

מה זה rvalue ו-lvalue ב-c++?
מה זה rvalue ו-lvalue ב-c++?

וִידֵאוֹ: מה זה rvalue ו-lvalue ב-c++?

וִידֵאוֹ: מה זה rvalue ו-lvalue ב-c++?
וִידֵאוֹ: Writing 2D Games in C using SDL by Thomas Lively 2024, נוֹבֶמבֶּר
Anonim

TL;DR: "lvalue" פירושו "ביטוי שניתן למקם בצד שמאל של אופרטור ההקצאה", או שפירושו "ביטוי שיש לו כתובת זיכרון". " rvalue" מוגדר כ"כל הביטויים האחרים ".

מה זה lvalue ו-rvalue ב-C עם דוגמה?

לדוגמה, הקצאה מצפה ל-lvalue בתור האופרנד השמאלי שלו, כך שהדבר הבא תקף: int i=10; אבל זה לא: int i; 10=i; זה בגלל שיש לי כתובת בזיכרון והיא lvalue. אמנם ל-10 אין מיקום זיכרון שניתן לזהות ולכן הוא rvalue.

מה ההבדל בין rvalue ל-lvalue?

lvalue מתייחס לאובייקט שנמשך מעבר לביטוי בודד. ערך r הוא ערך זמני שאינו נמשך מעבר לביטוי שמשתמש בו.

מהו rvalue בשפת C?

L-value: "l-value" מתייחס למיקום זיכרון המזהה אובייקט. l-value עשוי להופיע כיד שמאל או כצד ימין של אופרטור הקצאה (=). l-value מייצג לעתים קרובות כמזהה.

מהן הפניות ל-rvalue?

Rvalue הפניות הוא הרחבה טכנית קטנה לשפת C++ הפניות Rvalue מאפשרות למתכנתים להימנע מהעתקה מיותרת מבחינה לוגית ולספק פונקציות העברה מושלמות. הם נועדו בעיקר לסייע בעיצוב של ביצועים גבוהים יותר וספריות חזקות יותר.