
16-10-2007, 20:23
|
|
|
|
חבר מתאריך: 15.10.07
הודעות: 2
|
|
אם אתה שואל לגבי C או C++,
אז פונקציות סטטיות זה פונקציות "פנימיות" שאתה רושם והן תקפות רק ל קובץ ה C שבו הן נמצאות.
משתמשים בזה כשכותבים מודולים ורוצים לכתוב פונקציות עזר שלא יופיעו ב INTERFACE של המודול.
משתנים סטאטיים ב-C מאותחלים ולא נזרקים מהמחסנית עד סוף התוכנית. אחד השימושים שאני מכיר זה לספור את מספר הקריאות לפונקציה מסוימת.
משתנים סטאטיים ב C++ הם יותר שימושיים במקרה שאתה רוצה שתהיה מחלקה שתחזיק קבוע מסוים , למשל PI במקרה שאתה עובד עם צורות גיאומטריות. אז תרצה שהקבוע יהיה אחד לכל המחלקות יחד ולא לכל אחד בנפרד, אז אתה תגדיר אותו כסטאטי.
פונקציות סטאטיות במחלקה , אין להם this, לכן אתה יכול להשתמש בהן מבלי להפעיל אותן על אובייקט מסוים. הן קיימות כשאר אתה רוצה לספק יכולות פונקציונאליות למחלקה מסוימת כאשר לא מדובר בהכרח במתודות. לפוקנציה כזאת תוכל לקרוא מבחוץ ע"י:
class nameofclass:: funcname
|