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-ისთვის),
// რომლებიც ინახება ერთ მართვის ბლოკში.