עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

decltype בC++

Featured Replies

פורסם

לא כל כך הבנתי מה האופרטור הזה עושה,הוא בעצם מחליף לי את הגדרת סוג המשתנה?

ומה קורה במצבים הבאים:


int i = 42, *p = &i, &r = i;
decltype(r + 0) b;
decltype(*p) c;
decltype(p) d;

יש בשורות האלה משהו לא נכון,וגם שורות נכונות,אשמח גם להסבר למה זה נכון ולמה זה לא נכון

תודה :)

פורסם

הוא לא משנה כלום, זה אופרטור שמחזיר לך את הטיפוס של הביטוי.

לא ברור לי מה הכוונה שלך בשורות נכונות ולא נכונות.

פורסם
  • מחבר

מה ההבדל בין שורה 3 לשורה 4?

decltype(*p) c;

decltype(p) d;

decltype(*p) c;

השורה הזאת היא טעות כי צריך לאתחל את C

לא כל כך הבנתי במקרי םהאלה מה הוא מחזיר

ולמה רשום R+0 לדוגמא,למה לא R?

פורסם

p הוא מצביע, p* הוא הערך שעליו הוא מצביע. הטיפוסים שלהם כמובן שונים. לא הבנתי לפי מה אתה אומר שהשורה הזו היא טעות (הקומפיילר אומר שזו שגיאה?)

r+0 ו-r הם לא בדיוק מאותו טיפוס. r הוא l-value, כלומר הוא יכול להופיע בצד שמאל של השמה (אפשר לכתוב לדוגמה r=5). לעומתו, r+0 הוא r-value, כלומר הוא יכול להופיע רק בצד ימין של סימן שווה (כלומר אסור לכתוב לדוגמה r+0=5).

פורסם
  • מחבר

כן הוא אומר שצריך לאתחל אותו,ולאתחל אותו אני צריך לבצע התייחסות למשתנה אחר לדוגמא:


decltype(*p) d = i;
אם אני לא טועה שקול ל:
int &d = i;

בדוגמא של(r+0), זה יחזיר לי INT?

אם זה ככה אזי (r+ 0.0) יחזיר לי DOUBLE?

פורסם

האמת היא שאני לא יותר מדי מכיר לעומק את פרטי המימוש, פשוט כי זה אופרטור חדש יחסית והוא לא היה חלק מהתקן של ++C עד תקן C++11, אז מה שאני אומר מתבסס על מה שהבנתי מויקיפדיה ו-msdn (אני מניח שאתה משתמש ב-visual studio, כן?)

פורסם
  • מחבר

כן,אני לומד מC++ primer 5th edition נאמר לי שהוא מלמד על פי התקן ולכן לקחתי את הספר :P

נערך על-ידי MrAlex

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.