BST oraz smart pointers

0

Dzień dobry. Ponownie piszę z pytaniem o program (chociaż niewiele zmieniony) z tego wątku. Chciałbym przerobić moją implementację, by operowała na wskaźnikach inteligentnych. Początkowo zamierzałem użyć shared_ptr, ale zajmuje dwa razy więcej pamięci niż raw lub unique_ptr. Innym pomysłem jest korzeń jako shared_ptr, a reszta jako weak_ptr, ale nie jestem pewien, czy warto. Trzecią opcją (i moim zdaniem chyba najbezpieczniejszą) jest użycie unique_ptr, a wszędzie tam, gdzie muszę odnaleźć jakiś element wspomaganie się observer_ptr. W tym przypadku mam wątpliwości co do wartości zwracanej przez np. getMax(). Czy może być to observer_ptr?

Zwracam się więc do Was z pytaniem, które z tych rozwiązań jest Waszym zdaniem najodpowiedniejsze?

2

Polecam obejrzenie:

ogółem, unique_ptr i T*/observer_ptr powinny być pierwszym rozwiązaniem, po które sięgasz. Tutaj wydaje się ono adekwatne.

0

Dziękuję bardzo za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1