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?