נושא: כמה שאלות לגבי C++ (ועדת התקנים)
|
|
כותב |
|
ReX :D אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 18 August 2006 בשעה 19:25 | | IP רשוּם
|
|
|
|
שלום, אני לומד C++ כבר זמן מה, והגעתי לקטע של מרחבי שמות. נתקעתי בכמה דברים שלא הבנתי ממש לעומק אני אשמח אם מישהו יוכל לתת לי פוש קטן בשביל להבין אותם.
1. למה אין להשתמש במשתנים סטטים גולבאלים? (לפי וועדת התקנים)
קוד:
static int value=2;
int main() { //... } |
|
|
ולא הבנתי בדיוק מה המשתנים הסטטים הגלובאלים עושים.. מה הם שונים ממשתנים גלובאלים רגילים?
2. מתי משתמשים במרחב שמות ללא שם? ומה היתרון בזה? 3. למה ההכרזה הנ"ל:
קוד:
using std::cout; using std::endl; |
|
|
עדיפה על:
|
חזרה לתחילת העמוד |
|
|
אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 19 August 2006 בשעה 20:37 | | IP רשוּם
|
|
|
|
1. ללמה אין תשובה רשמית. התקן אומר שהשימוש הזה הוא deprecated, ולמי
שמציית לתקן זה אמור להספיק. unnamed namespace הוא החלופה שמספקת כמעט את
אותה תפקודיות.
2. במרחב שם "אנונימי" (חסר-שם) תשתמש כשאתה רוצה להגדיר מזהים (ויהיו אלה
מחלקות, פונקציות, טיפוסים, או משתנים) שנגישים רק לקובץ ספציפי.
3. לא עדיפה. עניין של סגנון בעיקר.
כל העסק בקשר ל-1 ול-2 קצת מסובך:
- על סוגי קישור תוכל לקרוא כאן.
- מאמר בשני חלקים על מילת המפתח static, מה עושים איתה ומה לא, תמצא כאן: חלק ראשון; חלק שני. יש שם הצעה לסיבה שבגללה השימוש הזה ב-static לא מקובל על וועדת התקינה.
- עוד על ה-unnamed namespace, תוכל לקרוא כאן. מוזכרת שם בשתי מילים סיבה אחרת (או שלא?) להעדפה של מרחב השם חסר השם (כמה שזה נשמע מגוחך) על פני משתנים "סטטיים".
|
חזרה לתחילת העמוד |
|
|
ReX :D אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 20 August 2006 בשעה 10:02 | | IP רשוּם
|
|
|
|
תודה, עזרת לי המון
|
חזרה לתחילת העמוד |
|
|
אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 20 August 2006 בשעה 12:05 | | IP רשוּם
|
|
|
|
אין בעיה. תבוא כל יום.
|
חזרה לתחילת העמוד |
|
|
|
|
אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם
|
אינך יכול/ה לשלוח נושאים חדשים בפורום זה אינך יכול/ה להגיב לנושאים בפורום זה אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה אינך יכול/ה לצור סקרים בפורום זה אינך יכול/ה להצביע בסקרים בפורום זה
|