מה זה משנה בעצם?

eshedr

New member
מה זה משנה בעצם?

אני לומד מהספר "++C בקלות" והוא מלמד לכתוב לכתוב תוכנית ככה:
#include <iostream.h> void main (void) ............ .........​
עכשיו הבנתי שני דברים שאתם לא ממליצים עליהם שהם void main ולהוריד את ה-.h מה-iostram. מה זה משנה אם כותבים void main ומה ההבדל עם ובלי ה-h?
 

zagzagzag

New member
קודם כל, תיפטר מהספר הזה

כמה שיותר מהר. המחבר שלו מנסה ללמד כמה שיותר דברים ב400 עמודים, והתוצאה היא שהוא מחפף בהסברים על כל נושא. בקשר לשאלות - התשובה היא "כי זה הסטדנרט". הסטנדרט מחייב ש-main תהיה int (הסבר כאן) והסטנדרט מחייב שהמחלקות והפונקציות הסטנדרטיות יהיו ב-namespace std אני חושב שאם תחפש בקבוצות דיון של ++C (דרך גוגל למשל) תמצא המון דיונים על שני הנושאים. בהצלחה
 

mooznach

New member
ואאאאאאאאי ואאאאאאאאאאייייייייייייי

אולי תשקיעו יותר זמן בלתכנת ופחות זמן באספקטים הכי הכי הכי הכי הכי קטנים ולא חשובים של תכנות? זה פשוט לא הגיוני כמה שירשורים היה על הנושא הכל כך לא חשוב הזה.
 

eyalbd

New member
זה לא אספקטים קטנים

עם קומפיילר אחר זה לא יתקמפל. זה לא קטן.
 

eyalbd

New member
תוספת H זה מסיבות היסטוריות

ואתה סומך על המזל שהקומפיילר שלך תומך בזה. ע"פ הסטנדרד אין H. כנ"ל גם עם main היא צריכה להחזיר int ושוב - זה מה שהסטנדרד מכתיב. GCC למשל לא יקבל void ויודיע על שגיאת קומפילציה. יש לvoid main עוד חיסרון - הוא מאלץ אותך להשתמש ב exit עבור exit codes. בקיצור void main מרושל וכותבי ספרים שמשתמשים בניסוח הזה מרושלים גם הם. ב-MSVC העירבוב של קבצי כותרת (עם ובלי H) יוביל לצרות שכן אילו שתי ספריות IOSTREAM שונות. הקבצים עם H נשארו כדי לא לשבור קוד קיים שמסתמך עליהם. עבור קוד חדש - תשתמש בספריות הסטנדרטיות.
 

eshedr

New member
יש לכם המלצות על ספר אחר?

חובה שיהיה בעברית ושלא יעלה על 1000 עמ'. אי אפשר ללמוד מהספר הזה ואז לתקן את הדברים עם כל מיני מאמרים באינטרנט? כי אני לא כל-כך רוצה להחליף עכשיו ספר.
 
למעלה