01-07-2005, 14:04
|
|
|
חבר מתאריך: 20.12.01
הודעות: 20,962
|
|
not so...
ניתן להשתמש בפונקציה inline בשביל זה: פונקציית inline תכתב בתוך הקוד,
כמו מאקרו(ולכן נקראת inline...), אבל מאפשר מבנים מורכבים יותר מאשר
מאקרואים, ומאפשרת בדיקת טיפוסים. אין למאקרו שום יתרון עליה, ול-inline
יש לא מעט יתרונות על מאקרו...
מהדרים מודרניים(GCC ו-VC) מתעלמים מרצון המשתמש בקטע הזה, וקובעים
שבמידת האפשר(פונקציות רקורסיביות לא יכולות להיות inline, לדוגמה) - כל
פונקציה תהיה inline. (אולי יש הוראות pragma ספציפיות שיכולות לאלץ קוד
לא inline, אבל מעולם לא טרחתי לבדוק).
לסיכום: אין שום סיבה להשתמש במאקרו, לעולם, מלבד להידור מותנה.
|