Video: C++ da ob'ektning dinamik taqsimlanishini qanday cheklashim mumkin?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Stakka asoslangan ob'ektlar tomonidan bilvosita boshqariladi C++ kompilyator. Ular doiradan chiqib ketganda vayron bo'ladi va dinamik ravishda ajratilgan ob'ektlar qo'lda bo'shatish kerak, aks holda o'chirish operatori yordamida xotira oqish sodir bo'ladi. C++ Java va C# kabi tillar tomonidan ishlatiladigan axlatni avtomatik yig'ish usulini qo'llab-quvvatlamaydi.
Buni hisobga olsak, C++ da ob'ektning dinamik taqsimlanishini qanday cheklashim mumkin?
Stakka asoslangan ob'ektlar tomonidan bilvosita boshqariladi C++ kompilyator. Ular doiradan chiqib ketganda vayron bo'ladi va dinamik ravishda ajratilgan ob'ektlar qo'lda bo'shatish kerak, aks holda o'chirish operatori yordamida xotira oqish sodir bo'ladi. C++ Java va C# kabi tillar tomonidan ishlatiladigan axlatni avtomatik yig'ish usulini qo'llab-quvvatlamaydi.
Bundan tashqari, biz CPP-da ob'ektlar uchun xotirani dinamik ravishda ajrata olamizmi? Dinamik xotirani taqsimlash uchun Biz qila oladigan ob'ektlar shuningdek ob'ektlarni dinamik ravishda taqsimlash . Sifatida biz Bilingki, Konstruktor sinfning a'zo funksiyasi bo'lib, har doim yangisi chaqiriladi ob'ekt shu sinfdan yaratilgan. Destruktor, shuningdek, sinf a'zosi funktsiyasi bo'lib, u har doim chaqiriladi ob'ekt doirasidan chiqib ketadi.
Odamlar, shuningdek, ob'ektlari faqat dinamik ravishda taqsimlanishi mumkin bo'lgan C ++ sinfini qanday qilish kerak?
- Amalga oshirib bo'lmaydi. Siz qila oladigan yagona narsa - konstruktorni shaxsiy qilish va sinfning yangi nusxasini yaratadigan statik zavodga ega bo'lish. -
- Bunday sinfni yaratish, albatta, muammodir.
- Bu juda g'alati talab.
Nega biz ob'ektlarni dinamik ishga tushirishimiz kerak?
The Ob'ektlarni dinamik ishga tushirish degan ma'noni anglatadi ishga tushirish yaratishda sinfning ma'lumotlar a'zolari ob'ekt . Qachon Biz xohlaymiz yaratish paytida ma'lumotlar a'zolariga boshlang'ich yoki standart qiymatlarni berish ob'ekt - bizga kerak foydalanish ob'ektlarni dinamik ishga tushirish.