ABA


"מצטער על הבורות, מה ההבדל בין C ל C++?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #7370 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 7370
F1ReStArTeR

   22:38   15.11.03   
אל הפורום  
  מצטער על הבורות, מה ההבדל בין C ל C++?  
 
   מה ההבדל בין שני שפות אלו ומה עדיף ללמוד?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אלו שני שפות שונות, עם תחביר דומה מאוד. dryice 15.11.03 23:33 1
     אני מכיר את 2 השפות ויש לי שאלה Gh0sT_d0g 22.11.03 00:17 2
         קצת הסברים dryice 22.11.03 13:07 3
             אתה מתכוון פולימופריזם? :-) AlexKarpman 25.11.03 12:00 4
     WTF?? אחי לא הבנתי כלום dvir8 26.11.03 15:03 5

       
dryice

   23:33   15.11.03   
אל הפורום  
  1. אלו שני שפות שונות, עם תחביר דומה מאוד.  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 15.11.03 בשעה 23:34 בברכה, dryice
 
במקור ++C הייתה הרחבה לC אבל זה התפתח להרבה מעבר לזה,
++C היא שפה לתכנות מונחה עצמים, מכילה מערכת טיפוסים נוקשית
למדיי מאפשרת בדיקת טיפוסים בזמן ריצה, עושה שילוב בין
static binding לdynamic binding.

C היא שפה פרוצדוראלית, מכילה מערכת טיפוסים פרוצה לחלוטין
(וזה לפעמים נוח מאוד דווקא) משתמשת בstatic binding.

למרות כל ההבדלים המהותיים ברמת העיקרון ובצורת הקומפילציה
ובקוד הנוצר, רוב התוכניות התקינות בC יתקמפלו ב++C ויתנהגו
באותו אופן אבל לא 100%(רק 99).

עדיף להתחיל מC ולעבור ל++C לאחר שיש לך תפיסה טובה של C.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Gh0sT_d0g

   00:17   22.11.03   
אל הפורום  
  2. אני מכיר את 2 השפות ויש לי שאלה  
בתגובה להודעה מספר 1
 
   רציתי לדעת מה הכוונה כשאמרת "מערכת טיפוסים פרוצה\נוקשית", אם תוכל להסביר לי מה זה אומר אני אשמח.
עוד דבר שרציתי לדעת הוא מה זה static binding וdynamic binding, ומה ההבדל ביניהם..


תודה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   13:07   22.11.03   
אל הפורום  
  3. קצת הסברים  
בתגובה להודעה מספר 2
 
   לשפות השונות יש אוסף טיפוסים, והיכולת שלי לעשות דברים
מוזרים כמו להציב משתנה מטיפוס אחד בתוך טיפוס לא מתאים
כמו להציב int בתוך char * או להכניס char * לתוך int*
זה למעשה מגדיר עד כדי כמה זה נוקשה.

גם בC וגם בC++ אפשר לעשות הכל עם מתעקשים, אבל ב++C צריך
להתעקש קצת יותר בשביל לעשות דברים מוזרים כאלו,
גם כל הרעיון של casting הרבה יותר מורכב, יש static_cast
וreinterpret_cast וכמובן dynamic_cast. זה נותן ל++C מערכת
טיפוסים נוקשית יותר, מותר לי לעשות פחות.

binding זה הצורה בה מקשרים בין המילה בקוד מקוד לבין אלמנט
בזכרון, אני קצת אחדד דברים לא מדויקים שאמרתי קודם,
למעשה גם בC וגם ב++C יש static binding בשלב הקומפילציה נוצר
הקשר הזה, ואילו ב++C יש dynamic typing הטיפוס של משתנה מסוים
ברגע מסוים תלוי בריצת התוכנית, יש לי מצביע ואני לא בטוח
בזמן קומפילציה למה בדיוק הוא מצביע הוא יכול להצביע למספר
טיפוסים שונים, ואיזה בדיוק יקבע רק בזמן ריצה.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
AlexKarpman

   12:00   25.11.03   
אל הפורום  
  4. אתה מתכוון פולימופריזם? :-)  
בתגובה להודעה מספר 3
 
   "טיפוס של משתנה מסוים
ברגע מסוים תלוי בריצת התוכנית, יש לי מצביע ואני לא בטוח
בזמן קומפילציה למה בדיוק הוא מצביע הוא יכול להצביע למספר
טיפוסים שונים, ואיזה בדיוק יקבע רק בזמן ריצה."

לגבי הקאסטינג...
ישנם ארבעה סוגים, ולא 3 בלבד.
static_cast
dynamic_cast
reinterpret_cast
cnst_cast

:-)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   15:03   26.11.03   
אל הפורום  
  5. WTF?? אחי לא הבנתי כלום  
בתגובה להודעה מספר 1
 
   וואי ניסוח חזק
מילים קשות


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net