Middle
Shared_ptr faqat bitta referensiya hisoblagichiga ega yoki bir nechta?
sobes.tech AI
AIdan javob
// shared_ptr foydalanadi umumiy referentlar hisoblagichi (reference count),
// bu hisoblagich boshqaruv blokida saqlanadi.
// Bu boshqaruv bloki shuningdek, foydalanuvchi delete (deleter)
// va foydalanuvchi allocator haqida ma'lumotlarni ham o'z ichiga oladi,
// agar ular shared_ptr yaratilganda taqdim etilgan bo'lsa.
// Har bir nusxa shared_ptr, bir xil ob'ektga ishora qiladigan,
// bu yagona boshqaruv blokiga murojaat qiladi va nusxa ko'chirish/o'chirishda
// umumiy hisoblagichni oshiradi/kichaytiradi.
// shared_ptr uchun umumiy hisoblagichdan tashqari,
// boshqaruv bloki shuningdek, zaif referentlar (weak count)
// uchun hisoblagichni ham o'z ichiga oladi (weak_ptr bilan ko'rsatilgan ob'ektlar uchun).
// Shunday qilib, shared_ptr tomonidan boshqariladigan har bir ob'ekt uchun,
// faqat bitta kuchli referentlar hisoblagichi (shared_ptr uchun) va bitta zaif referentlar hisoblagichi (weak_ptr uchun),
// bitta boshqaruv blokida saqlanadi.