Wpis z mikrobloga

@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.