C++/שלום עולם!: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 21:
נסביר את הקוד בפרטים:
 
* הפקודה ‎{{קוד בשורה|{{D}}#include}} היא פקודה לקדם־מעבד (pre-processor), כך הן כל הפקודות המתחילות בסולמית. קדם־מעבד הוא '''חלק''' מהמהדר, והוא מורץ בתחילת תהליך ההידור. פקודת ה־include מורה לקדם־מעבד להדביק את תוכן הקובץ ששמו נכתב אחרי הפקודה, לתוך המקום בו נכתבה הפקודה עצמה. משתמשים בפקודה זו על מנת להכליל את ההצהרות של הספרייה בה אנו רוצים להשתמש, במקרה שלנו "iostream".
 
:iostream היא חלק מהספרייה התקנית של C++‎ האחראיהאחראית על קלט ופלט (Input/Output Stream). כל הספריות התקניות יבואו בסוגריים משולשים לאחר פקודת ה־include, זאת כדי שהמהדר ימצא את הקובץ לבד. במקרה של הספריה התקנית של C++‎, לאו דווקא קיים קובץ כזה על הדיסק הקשיח שלכם, דבר זה תלוי בסביבת הפיתוח בה אתם עובדים.
 
* השורה {{קוד בשורה|int main()}} פותחת את הגדרת פונקציית main, זוהי השורה שממנה תתחיל להתבצעה התוכנית. הסוגריים המסולסלים פותחים וסוגרים בלוק של פקודות '''שתתבצענה בזמן הרצת התוכנית''', כל השורות הנמצאות מחוץ לסוגריים אלה, משמשות אותנו רק בזמן ההידור. את הפרטים על פונקציות תלמדו בהמשך.
שורה 29:
* הסימן >> משמעותו "פלוט את מה שמימין לתוך מה שמשמאל". במקרה שלנו אנו פולטים את המחרוזת (טקסט) "Hello, world!‎" לתוך ה־stream ששמו std::cout. שימו לב שמשמעות סימן זה יכולה להשתנות ממקום למקום בהתאם למה שנכתב מימין ומשמאל (ראו [[C++/העמסת אופרטורים|העמסת אופרטורים]]).
 
* השם std::cout מורכב משני חלקים: הראשון (std) מציין את [[C++/מרחבי שם|מרחב השם]] של הספריה התקנית, ואילו החלק השני (cout) הוא שם של אובייקטעצם הנמצא בתוך מרחב שם זה. בקצרה ניתן לסכם זאת כך: אנו פולטים לתוך אובייקטעצם cout התקני.
 
:האובייקטהעצם cout מוגדר בספרייה iostream, ולשם השימוש בו הכללנו אותה בשורה הראשונה. כאשר אנו פולטים לתוך האובייקטהעצם cout, הפלט נשלח לאיזשהו אמצעי פלט במערכת. ברוב המערכות אמצעי פלט זה הוא המסך, כברירת מחדל. אם תריצו תוכנית זו, כנראה גם במערכת שלכם תראו את המילים "Hello, world!‎" מוצגות בחלון/מסך טקסט (ידוע בשם קונסולה).
 
* את המחרוזות (טקסט) ב־C++‎ נכניס לתוך גרשיים על מנת להבדיל משאר הקוד הניתן לביצוע. שימו לב שהגרשיים לא יופיעו בפלט. שני הסימנים האחרונים במחרוזת n\ מייצגים תו אחד הנקרא "ירידת שורה" (Line Feed או New Line). מקור התו הזה, ועוד תווים שונים אחרים, הוא בתחילת הסטוריית המדפסות שלא נספר עליה כאן. במקרה שלנו אנו מורידים את סמן הפלט לשורה חדשה, כך שכל הפלט הבא (שאיננו כאן) יופיע בשורה הבאה.
:מטעמי נוחות ותואמותותאימות למערכות אחרות, נהוג לפעמים להשתמש בכתיב std::endl לירידת שורה (ראה דוגמה למטה). כתיב זה כמעט זהה בפעולתו לזה שבתוכנית המוצגת כאן.
 
* ההוראה {{קוד בשורה|return 0;}} מחזירה את הערך 0 למערכת, ערך זה מסמל סיום תוכנית מוצלח. כל ערך השונה מאפס מסמל שגיאה בזמן ריצת התוכנית. הוראה זו הכרחית בכל הפונקציות שמחזירות ערך, חוץ מפונקציית main, אומנם בשל האחידות רבים כותבים אותה גם כאן.