וִידֵאוֹ: איך המחיקה עובדת ב-C++?
2024 מְחַבֵּר: Lynn Donovan | [email protected]. שונה לאחרונה: 2023-12-15 23:47
מתי למחוק הוא משמש להקצאת זיכרון עבור א C++ אובייקט class, משמיד האובייקט הוא נקרא לפני זיכרון האובייקט הוא מוקצה (אם לאובייקט יש הרס). אם האופרנד ל- לִמְחוֹק מַפעִיל הוא ערך l שניתן לשינוי, ערכו הוא לא מוגדר אחרי האובייקט מחוק.
כמו כן, השאלה היא, מה ההבדל בין מחק למחק ב-C++?
שניהם משמשים לאותה מטרה, אבל עדיין יש להם כמה הבדלים , ה הבדלים הם: לִמְחוֹק הוא anoperator ואילו free() הוא פונקציית ספריה. לִמְחוֹק שחרר את משחת הזיכרון והשיחות שהוקצה. אבל free() de-allocatememory אבל לא קורא destructor.
אפשר גם לשאול, איך עובד C++ חדש? מתי חָדָשׁ משמש להקצאת זיכרון עבור א C++ אובייקט class, הבנאי של האובייקט נקרא לאחר הקצאת הזיכרון. בעת הקצאת מערך באמצעות ה חָדָשׁ אופרטור, הממד הראשון יכול להיות אפס - ה חָדָשׁ אופרטור מחזיר מצביע ייחודי.
אפשר גם לשאול, מה השימוש באופרטור חדש ומחק ב-C++?
C++ תומך בהקצאה דינמית והקצאת אובייקטים באמצעות אופרטורים חדשים ומחקים . אלה מפעילים להקצות זיכרון לאובייקטים ממאגר שנקרא thefree store. ה מפעיל חדש קורא לפונקציה המיוחדת מפעיל חדש , וה מחק מפעיל קורא לפונקציה המיוחדת מחיקת המפעיל.
האם אני צריך למחוק מצביעי C++?
1 תשובה. אתה לא צריך למחוק זאת, ויותר מכך, אתה לא צריך לִמְחוֹק זה. אם כדור הארץ הוא אובייקט אוטומטי, הוא ישתחרר אוטומטית. אז באופן ידני מחיקה א מַצבִּיעַ לשם כך, אתה נכנס להתנהגות לא מוגדרת.