Sobes.tech
Middle

Оё shared_ptr танҳо як ҳисобкунаки истинод дорад ё чандто?

sobes.tech AI

Ҷавоб аз AI

// shared_ptr пайдаланады ортақ сілтеме санақшысы,
// ол басқару блогында сақталады.
// Бұл басқару блогы сондай-ақ пайдаланушының delete (deleter)
// және пайдаланушының аллокаторы туралы ақпаратты қамтиды,
// егер олар shared_ptr құру кезінде берілсе.

// Бірдей объектіге көрсететін әрбір көшірме shared_ptr,
// осы бір басқару блогына сілтеме жасап, көшірме/жою кезінде
// ортақ санақшысын арттырады/азайтады.

// shared_ptr үшін ортақ сілтеме санақшысынан басқа,
// басқару блогы сондай-ақ әлсіз сілтемелердің санақшысын (weak count)
// қамтиды (weak_ptr арқылы көрсетілген объектілер үшін).

// Сондықтан, shared_ptr арқылы басқарылатын әрбір объект үшін,
// тек бір күшті сілтеме санақшысы (shared_ptr үшін) және бір әлсіз сілтеме санақшысы (weak_ptr үшін),
// бір басқару блогында сақталады.