Quemasterekt
#cpp #programowanie

Mam sobie ten kodzik i zastanawiam się, jak zwrócić dynamicznie alokowaną tablicę, a następnie usunąć ją, aby nie zalegała w pamięci?
1
  • Najlepsze
  • Wszystkie komentarze
wolodia
@Quemasterekt: std::vector, zwracasz przez kopiowanie albo przesunięcie, destruktor załatwi Ci sprzątanie. Poczytaj o RAII przy okazji. Alternatywa to smart pointers, możesz użyć np. std::unique_ptr i przekazywać go, dzięki czemu masz zagwarantowane zwolnienie pamięci.

Zwracanie dynamicznie zaalokowanej pamięci jest złą praktyką, gdyż pozostawiasz na użytkowniku funkcji obowiązek sprzątania, co zazwyczaj prowadzi do wycieków. W twoim przypadku przewagą vectora jest to, że przy wskaźniku musisz dodatkowo zwrócić długość tablicy.
4
robko
@Quemasterekt: użyj std::vector
2
w.....s
w.....s
@Quemasterekt: Weź to wrzuć na https://pastebin.com bo tego nie da się czytać.
0
Quemasterekt
@wojcikrs: zrobiłem to zaraz po wrzuceniu postu ( ͡° ͜ʖ ͡°)
0
Quemasterekt
@robko: dzieki dzieki!!
0