בתגובה להודעה מספר 1 שנכתבה על ידי fraps0 שמתחילה ב "מה ההבדל אם מגדירים פונקציה ב-h או ב-cpp?"
כמיטב זכרוני - פונקציה שנמצאת בקובץ ה h היא תמיד inline. כלומר - התוכן שלה מועתק כולו לכל מקום בו קוראים לה. זה יעיל כשמדובר בפונקציה קטנה, כמה שורות קוד לכל היותר, אבל מנפח את תוצר הקומפילציה אם הפונקציה ארוכה.
בתגובה להודעה מספר 1 שנכתבה על ידי fraps0 שמתחילה ב "מה ההבדל אם מגדירים פונקציה ב-h או ב-cpp?"
מגדיר = מכריז או מממש?
אם התכוונת להכרזה:
אם הפונקציה צריכה להיות בשימוש ע"י קוד שמשתמש במחלקה ההכרזה שלה צריכה להיות ב H, ביחד עם ההכרזה על המחלקה, כדי שקוד שמשתמש במחלקה יוכל "לראות אותה"
אם מדובר בפונקציה פנימית של המחלקה אין צורך להכריז עליה ב H.
בתגובה להודעה מספר 3 שנכתבה על ידי rlsf שמתחילה ב "מגדיר = מכריז או מממש?
אם..."
הבנתי עכשיו מה ההבדל.
ציטוט:
כמיטב זכרוני - פונקציה שנמצאת בקובץ ה h היא תמיד inline. כלומר - התוכן שלה מועתק כולו לכל מקום בו קוראים לה. זה יעיל כשמדובר בפונקציה קטנה, כמה שורות קוד לכל היותר, אבל מנפח את תוצר הקומפילציה אם הפונקציה ארוכה.
אז אם אני מגדיר פונקצית inline בתוך קובץ H זה פשוט inline בכל הקבצים? אם לא, אז מה ההבדל בין פונקצית inline בתוך קובץ H לבין פונקציה שמוכרזת וממומשת ב-H?