BST oraz smart pointers

BST oraz smart pointers
NI
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:54
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?

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Szczecin
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.


edytowany 1x, ostatnio: kq
NI
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:54
0

Dziękuję bardzo za pomoc :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.