206
Zliczanie odwołań pozwala na bezpieczne współużytkowanie obiektów. Pomysł jest bardzo prosty. Zamiast zewnętrznie kontrolować czas istnienia obiektu, obiekt sam kontroluje operację usuwania. A raczej czas istnienia obiektu jest kontrolowany pośrednio z zewnątrz dzięki liczeniu liczby jego użyć. Użytkownicy obiektu określają, kiedy zaczynają i kiedy kończą korzystanie z obiektu. Obiekt natomiast gwarantuje, że będzie istniał, dopóki jest przez kogoś używany. Tę metodę stosuje się w obiektach standardu COM.
Zaimplementowanie tej techniki jest łatwe. Przed użyciem obiektu wywołuje się metodę Add. Zwiększa ona wewnętrzny licznik:
int Add()
{
return ++m_cRef;
}
Gdy obiekt przestaje być używany, wówczas wywołuje się metodę Release. Metoda ta zmniejsza wewnętrzny licznik i usuwa obiekt, gdy wartość licznika spada do zera:
int Release{}
{
int cRef;
// Wskazówka 86.
— m_cRef; cRef = m_cRef; if(!cRef)
delete this; return cRef;
}
Obiekt może być współużytkowany w wielu różnych częściach kodu. Każda z tych części przestrzega zasady wywoływania metod Add i Release. Dzięki temu obiekt nie może być usunięty przez przypadek, dopóki ktoś go używa.
Zauważmy, że zarówno konstruktor jak i destruktor dla tej klasy są prywatne. Uniemożliwia to tworzenie zliczanych obiektów na stosie lub usuwanie ich przez zewnętrznych użytkowników obiektu.
Połączenie metody zliczania odwołań z inteligentnymi wskaźnikami jest bardzo wydajną techniką.
Wyszukiwarka
Podobne podstrony:
Zliczanie odwołań pozwala na bezpieczne współużytkowanie obiektów. Pomysł jest bardzo prosty. ZamiasWłasności skroplonego gazu ziemnego pozwalają na bezpieczne jego transportowanie przy zapewnieniuPilarki taśmowe powinny byc wyposażone w urządzenia pomocnicze pozwalające na bezpieczne dosuwameSpatial Join (Złączenie przestrzenne) Narzędzie pozwalające na przestrzenne łączenie obiektów oraz i70310 IMGh42 • Wielkość ramienia pozwalającego na kompensację wydłużenia rury, uzależniona jestInne oznaczenia produktu można podzielić na: -bezpieczeństwa - świadczą iż produkt jest bezpieczny d13Etapy procesu projektowego Zaprezentowanie na papierze swoich indywidualnych pomysłów jest jednymUmiejętność ta pozwalała na przykład stwierdzić, czy więcej jest „nas”, czy „tych drugich”. JeśliSieć o adresie 192.168.1.128/29 pozwala na podłączenie Poprawnie Który z protokołów jest szyfrowanymĆwiczenie 10. Metody izolacji i rozdziału kwasów nukleinowych. pozwala na wydzielenie frakcji RNA. DĆwiczenie 10. Metody izolacji i rozdziału kwasów nukleinowych. pozwala na wydzielenie frakcji RNA. DTen wzór wygląda na skomplikowany, jednak w rzeczywistości jest bardzo prosty. 9wiska na kierunku wychowanie techniczne. Przedmiot jest bardzo łubiany, wykłady cieszą się niemalCCF20090303 033 70 Argument na rzecz indeterminizmu nam świat jest bardzo złożony i jakkolwiek możenumer specjalny ■ ■ ■ Maciej Jarosz, Magdalena Janiecka, kiem. Pomysł byt bardzo prosty - chodziło oChristiaan Huygens Rozwój poglądów na naturę światła. Nauka o świetle jest bardzo stara, ale spór oChris tiaan Huygens Rozwój poglądów na naturę światła. Nauka o świetle jest bardzo stara, ale spór oŚródwaga jest bardzo prostym przyrządem opartym na konstrukcji trójkąta równoramiennego z umieszczonwięcej podobnych podstron