@Metoksyfenidyna9: ok, na szybko: new używasz wtedy gdy potrzebujesz zaalokować jakieś dane np. klasy. Dane te są alokowane na stercie i po zakończeniu z ich korzystania musisz zwolnić to miejsce przez zawołanie operatora delete. Jak korzystałeś w c z malloc/calloc/free szybko złapiesz o co chodzi.
@Metoksyfenidyna9: Noi właśnie z powodu memory leak'ów coraz rzadziej korzysta się z new/delete na rzecz smart pointer'ów. Jeżeli chcesz wiedzieć jak pamięć jest przydzielana utwórz sobie klasę/strukturę z własnymi konstruktorami i wywołuj sobie w nich zwykłego cout<<"konstruktor". Utwórz również własny destruktor z tym cout i policz sobie ile razy co zostało wywołane.
@Metoksyfenidyna9 Podejrzewam, że podczas budowania funkcji rekurencyjnych warto brać pod uwagę ograniczenia ze stosem aby ograniczyć możliwe dane, dla których spowoduje to przepełnienie.
Aktywne Wpisy
18+
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny #jezykc
@Metoksyfenidyna9: W zasadzie nigdy - nie ma takiej potrzeby od jakiegoś czasu.
https://stackoverflow.com/questions/3428750/memory-leak-with-stdstring-when-using-stdliststdstring
Ogółem proszę bardzo:
https://dsp.krzaq.cc/post/176/ucze-sie-cxx-kiedy-uzywac-new-i-delete/
https://cpp-polska.pl/post/kompendium-wiedzy-o-smart-pointerach