הנחיות קדם-מעבד ב-C++ מסומנות ב- # (hash) סמל בתחילת ההצהרה. הנחיות קדם-מעבד נפוצות ב-C++ כוללות הכללת קובץ ו פקודות מאקרו הַגדָרָה. הנחיות אלו ממוקמות בדרך כלל מחוץ לפונקציה main() בחלק העליון של תוכנית C++. במהלך עיבוד מקדים, קובץ ביניים עם ה- .אני נוצרת הרחבה.
#define Direktiv ב-C++
ב-C++, ההנחיה #define היא הנחיית קדם-מעבד המשמשת להגדרת קבועים או פקודות מאקרו. זה מאפשר לך להגדיר שמות או ערכים סימבוליים המוחלפים לאורך הקוד לפני שתהליך ההידור בפועל מתרחש.
הנה כמה מהדגשים העיקריים של #define Pre-processor
- ב-C++, ההנחיה הקדם-מעבד #define משמשת להגדרת פקודות מאקרו.
- מאקרו ב-C++ נקראים קבועים או ביטויים המוצהרים עם ההנחיה #define.
- #define הנחיות נקראות גם הנחיות מאקרו.
- כאשר נתקלת בהנחיה #define בתוכנית C++, שם המאקרו המוגדר מוחלף בערך או ביטוי קבועים בשלב ההידור הראשוני.
תחביר של #define Direktiv
התחביר לשימוש ב-#define הוא כדלקמן:
#define ערך מזהה
כאשר מזהה הוא השם של הקבוע או המאקרו המוגדרים, וערך הוא הערך שבו יש להחליף אותו בעת הידור הקוד.
דוגמה ל-#define Direktiv
להלן דוגמה שמסבירה כיצד ניתן להשתמש ב-#define בקוד C++:
#include#define PI 3.14159
#define SQUARE(x) ((x) * (x))
int רָאשִׁי ( ) {
לְהַכפִּיל רַדִיוּס = 5.0 ;
לְהַכפִּיל אֵזוֹר = פאי * כיכר ( רַדִיוּס ) ;
סטד :: cout << 'אזור:' << אֵזוֹר << סטד :: endl ;
לַחֲזוֹר 0 ;
}
בדוגמה זו, אנו מגדירים שני קבועים באמצעות ההנחיה #define: PI, המייצג את הקבוע המתמטי pi, ו-SQUARE, שהוא מאקרו שמחשב את הריבוע של ערך נתון. לאחר מכן אנו משתמשים בקבועים אלה בקוד שלנו כדי לחשב את שטחו של מעגל עם רדיוס נתון.
ההבדל בין #define ל-const
שאלה נפוצה אחת שעולה כאשר דנים בהנחיית #define היא כיצד היא שונה משימוש במשתני const ב-C++. בעוד ששתי הגישות מאפשרות לך להגדיר קבועים שניתן להשתמש בהם בכל הקוד שלך, ישנם כמה הבדלים עיקריים ביניהם.
הבדל אחד עיקרי בין #לְהַגדִיר ו const הוא ש-#define היא הנחיית קדם-מעבד, בעוד const היא מילת מפתח שהיא חלק משפת C++ עצמה. המשמעות היא שקבועים המוגדרים באמצעות #define מוחלפים בערכים שלהם לפני הקומפילציה של הקוד, בעוד שמשתני const מטופלים על ידי המהדר עצמו.
הבדל מרכזי נוסף בין #define ל-const הוא שלמשתני const יש סוג מסוים, בעוד שקבועים המוגדרים באמצעות #define לא. המשמעות היא שאתה יכול להשתמש במשתני const במקומות שבהם נדרש סוג מסוים, בעוד שקבועים המוגדרים באמצעות #define עשויים שלא תמיד לעבוד במצבים אלה.
סיכום
ההנחיה #define היא הנחיית קדם-מעבד המשמשת להגדרת קבועים או פקודות מאקרו. זה מאפשר לנו להגדיר שמות סמליים או ערכים שמוחלפים לאורך הקוד לפני שתהליך ההידור בפועל מתרחש. קרא עוד על #define directive ב-C++ במאמר זה.