איך המחיקה עובדת ב-C++?
איך המחיקה עובדת ב-C++?

וִידֵאוֹ: איך המחיקה עובדת ב-C++?

וִידֵאוֹ: איך המחיקה עובדת ב-C++?
וִידֵאוֹ: איך עובדות הבחירות בארצות הברית בקיצור 2024, נוֹבֶמבֶּר
Anonim

מתי למחוק הוא משמש להקצאת זיכרון עבור א C++ אובייקט class, משמיד האובייקט הוא נקרא לפני זיכרון האובייקט הוא מוקצה (אם לאובייקט יש הרס). אם האופרנד ל- לִמְחוֹק מַפעִיל הוא ערך l שניתן לשינוי, ערכו הוא לא מוגדר אחרי האובייקט מחוק.

כמו כן, השאלה היא, מה ההבדל בין מחק למחק ב-C++?

שניהם משמשים לאותה מטרה, אבל עדיין יש להם כמה הבדלים , ה הבדלים הם: לִמְחוֹק הוא anoperator ואילו free() הוא פונקציית ספריה. לִמְחוֹק שחרר את משחת הזיכרון והשיחות שהוקצה. אבל free() de-allocatememory אבל לא קורא destructor.

אפשר גם לשאול, איך עובד C++ חדש? מתי חָדָשׁ משמש להקצאת זיכרון עבור א C++ אובייקט class, הבנאי של האובייקט נקרא לאחר הקצאת הזיכרון. בעת הקצאת מערך באמצעות ה חָדָשׁ אופרטור, הממד הראשון יכול להיות אפס - ה חָדָשׁ אופרטור מחזיר מצביע ייחודי.

אפשר גם לשאול, מה השימוש באופרטור חדש ומחק ב-C++?

C++ תומך בהקצאה דינמית והקצאת אובייקטים באמצעות אופרטורים חדשים ומחקים . אלה מפעילים להקצות זיכרון לאובייקטים ממאגר שנקרא thefree store. ה מפעיל חדש קורא לפונקציה המיוחדת מפעיל חדש , וה מחק מפעיל קורא לפונקציה המיוחדת מחיקת המפעיל.

האם אני צריך למחוק מצביעי C++?

1 תשובה. אתה לא צריך למחוק זאת, ויותר מכך, אתה לא צריך לִמְחוֹק זה. אם כדור הארץ הוא אובייקט אוטומטי, הוא ישתחרר אוטומטית. אז באופן ידני מחיקה א מַצבִּיעַ לשם כך, אתה נכנס להתנהגות לא מוגדרת.